Sql Visual Studio 2010 C#-具有集中数据库的应用程序-开发
我已经开始使用我的数据库桌面应用程序。目标是拥有一个集中的数据库,以便每个员工都可以连接 我的目标:Sql Visual Studio 2010 C#-具有集中数据库的应用程序-开发,sql,database,visual-studio-2010,deployment,Sql,Database,Visual Studio 2010,Deployment,我已经开始使用我的数据库桌面应用程序。目标是拥有一个集中的数据库,以便每个员工都可以连接 我的目标: SQLServer2008Express上的集中式数据库 使用Sql查询Linq 应用程序的第一次运行应该在服务器上创建数据库的结构 现在我的问题是:如何做最后一点? 我知道我可以通过SQLManagementStudio生成sql脚本,然后执行它,但也许有更好的方法 如评论所述,我不确定您为什么要这样做,但如果您有一台集中式数据库计算机,并且希望在第一次连接时为每个用户创建一个新数据库,那
- SQLServer2008Express上的集中式数据库
- 使用Sql查询Linq
- 应用程序的第一次运行应该在服务器上创建数据库的结构
我知道我可以通过SQLManagementStudio生成sql脚本,然后执行它,但也许有更好的方法 如评论所述,我不确定您为什么要这样做,但如果您有一台集中式数据库计算机,并且希望在第一次连接时为每个用户创建一个新数据库,那么您可以创建一个规范/模板数据库,并在第一次连接时通过脚本将其克隆 您的UI将显示类似“请稍候,我们正在创建新数据库…”的内容,您将运行数据库/表/存储过程/视图等的创建脚本
请记住,一旦猫出笼,更新这些数据库的模式可能是一件非常痛苦的事情。为什么您希望每个用户的计算机上都有一个数据库?这似乎很奇怪。这似乎也与“目标是拥有一个集中的数据库”相矛盾我还没有写过我想在每台计算机上建立一个数据库,但是“目标是拥有一个集中的数据库,这样每个员工都可以连接起来”,首先看一下实体框架代码。这是一种现代方法,您首先编写模型。如果您的数据库连接设置正确,第一次启动应用程序时,它将为您的模型创建数据库基础结构很抱歉。。。我忘了写下我是在处理桌面应用程序,而不是web应用程序,所以按客户创建数据库对我来说很奇怪:)。通常,即使在桌面应用程序中,使用共享数据库时,数据库也是在客户端连接到数据库之前设置的。这是一个单独的设置和配置。在大多数情况下,您希望尽可能限制桌面应用程序的db权限。允许它拥有管理权限,这样它就可以创建一个数据库,这将为你打开一个安全地狱的世界。非常肯定,OP希望每个人都共享一个公共实例,他只是希望在有人第一次尝试连接它时创建它。但是,如果他想让他们都在同一台服务器上拥有自己的实例,那么你的观点就太棒了。我想这会让人困惑,因为他们都共享一个公共实例,但在第一次连接时就创建了它。。。你是否正在向一家拥有大约100名用户的企业推出产品?你有很多装置吗?因为当第二个用户连接时会发生什么?你知道不创建数据库吗?不管是什么原因,我想你已经一针见血了。您可以在第一次连接时编写创建脚本。我相信我们可以想出更具创造性的方法,但这似乎是最好、最简单的方法。