Sql server 如何制作能够保持数据库完整性和正确性的软件?
Sql server 如何制作能够保持数据库完整性和正确性的软件?,sql-server,database,visual-studio-2008,deployment,Sql Server,Database,Visual Studio 2008,Deployment,我在VisualStudio2008 C#中制作了一个应用程序项目,它是VisualStudio2008中的SQL Server
数据库有20个表,每个表中有许多字段
我制作了一个界面,用于根据用户预定义的需求添加、删除、编辑和检索数据
现在我必须
将项目制作成我可以交付给教授的软件。也就是说,他只需双击图标,软件即可启动。启动调试不需要Visual Studio 2008
数据库将在一台功能强大的计算机(双核最新Windows XP)上,用户将从另一台使用LAN连接的计算机上访问它。每当服务器
我在VisualStudio2008 C#中制作了一个应用程序项目,它是VisualStudio2008中的SQL Server
数据库有20个表,每个表中有许多字段
我制作了一个界面,用于根据用户预定义的需求添加、删除、编辑和检索数据
现在我必须
将项目制作成我可以交付给教授的软件。也就是说,他只需双击图标,软件即可启动。启动调试不需要Visual Studio 2008
数据库将在一台功能强大的计算机(双核最新Windows XP)上,用户将从另一台使用LAN连接的计算机上访问它。每当服务器发生更改时,我都可以使用Visual Studio 2008/debugger将连接字符串更改为共享数据库,但当它是软件时,我该如何做呢
会有很多客户。我应该给每个人都提供相同的软件,这样他们都可以连接到数据库吗?如何维护数据库的完整性和正确性?我的意思是db.mdf文件将位于一个文件夹中,该文件夹将通过读写访问权限共享。所以一次只写一个用户是没有必要的。那么这个或那个有编码吗
编写一个安装程序,将可执行文件和支持DLL复制到用户计算机上。我相信有一个安装项目可以在VisualStudio2008中使用
2) 您应该使用Windows 2000 server,Windows XP限制连接数。从注册表读取连接字符串,并提供设置对话框以更改连接
3) 不要使用MS access,您应该使用真正的SQL Server来处理并发用户访问。(SQL Server、MySQL、PostgreSQL、Oracle等)您需要使用SQL重写数据库访问层,以避免损坏数据
甚至不要考虑按原样部署此项目,否则您将陷入维护噩梦。有没有经验丰富的开发人员,甚至你的教授可以向你寻求帮助?要制作一个功能性应用程序,这里有很多工作要做
编写一个安装程序,将可执行文件和支持DLL复制到用户计算机上。我相信有一个安装项目可以在VisualStudio2008中使用
2) 您应该使用Windows 2000 server,Windows XP限制连接数。从注册表读取连接字符串,并提供设置对话框以更改连接
3) 不要使用MS access,您应该使用真正的SQL Server来处理并发用户访问。(SQL Server、MySQL、PostgreSQL、Oracle等)您需要使用SQL重写数据库访问层,以避免损坏数据
甚至不要考虑按原样部署此项目,否则您将陷入维护噩梦。有没有经验丰富的开发人员,甚至你的教授可以向你寻求帮助?要制作一个功能强大的应用程序,这里有很多工作要做。1)一个选项是使用Installshield打包和部署应用程序
2) 让应用程序从应用程序配置中提取连接字符串。我已经看到(并做到了)这一点,因为有一个带有常规配置设置(如数据库连接字符串)的XML文件,该文件位于文件系统中,与可执行文件位于同一目录中,并在可执行文件启动时读取
3) 通常,SQL Server将处理大多数并发数据读/写,并保持数据的完整性(只要您的表结构合理)
由于您将要将此应用程序部署到多台计算机上,因此听起来您可以在X台计算机上安装应用程序客户端,它们将访问数据库计算机上的SQL Server数据库。如果采用这种方法,则不需要共享db.mdf文件,因为它只需要由应用程序访问的SQL Server访问
我希望这会有所帮助。1)一个选择是使用Installshield打包和部署应用程序
2) 让应用程序从应用程序配置中提取连接字符串。我已经看到(并做到了)这一点,因为有一个带有常规配置设置(如数据库连接字符串)的XML文件,该文件位于文件系统中,与可执行文件位于同一目录中,并在可执行文件启动时读取
3) 通常,SQL Server将处理大多数并发数据读/写,并保持数据的完整性(只要您的表结构合理)
由于您将要将此应用程序部署到多台计算机上,因此听起来您可以在X台计算机上安装应用程序客户端,它们将访问数据库计算机上的SQL Server数据库。如果采用这种方法,则不需要共享db.mdf文件,因为它只需要由应用程序访问的SQL Server访问
我希望这会有所帮助。维护数据完整性的最佳方法是将其设计到数据库中:
- 您需要正式设计的主键
- 您需要正式定义主键/外键关系(并为这些外键编制索引;它们不会自动编制索引)
- 如果使用代理关键点,则自然关键点上需要唯一约束
- 对于不能为null的字段,您需要默认值,并且表定义中是否需要允许为null
- 您需要数据类型的正确数据类型(例如,不要将日期存储为varchar数据类型)
- 如果对某些字段的值有特定的约束,则需要在数据库或应用程序中强制执行这些约束
保持数据完整性的最佳方法是将其设计到数据库中:
- 您需要正式使用desi的主键
private Method(SqlConnection connection)
{
using (SqlTransaction transaction = connection.BeginTransaction())
{
try
{
// Use the connection here
....
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
}
private Method(SqlConnection connection)
{
using (SqlTransaction transaction = connection.BeginTransaction())
{
// Use the connection here
....
transaction.Commit();
}
}