Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Visual Studio 2010 C#-具有集中数据库的应用程序-开发_Sql_Database_Visual Studio 2010_Deployment - Fatal编程技术网

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名用户的企业推出产品?你有很多装置吗?因为当第二个用户连接时会发生什么?你知道不创建数据库吗?不管是什么原因,我想你已经一针见血了。您可以在第一次连接时编写创建脚本。我相信我们可以想出更具创造性的方法,但这似乎是最好、最简单的方法。