SQL数据库部署VB.NET应用(SQL database deployment for VB.NE

2019-07-31 08:30发布

我在这里看了很多文章,但还没有完全找到了解决办法。 我有一个使用我的VB.NET应用程序中的SQL Server Express数据库。 我已经打包和部署通过MSI文件的应用程序和除了我无法弄清楚如何将与包我的数据库文件,一切都很正常。 我理解一般有三种方法可以做到这一点(复制文件手动过,自定义操作,和SQL脚本)。 我并不需要什么看中这里,只是一个快速的方法来把DB客户端机器上,所以我的应用程序可以访问它。

我决定复制在DB手动是最快的选择。 我试图把它的工作目录,并在\DATA的客户端的SQL Server Express的安装目录,但我的应用程序将无法连接。 我也试图改变我的项目连接.\SQLEXPRESS而非[my_computer_name]\SQLEXPRESS ,然后重新生成部署项目,并重新安装客户端机器上,但没有汤给我。 同样的问题。 我试图改变“UserInstance”属性的项目为“True”,但我的项目不会让我保存的动作。

我是正确的是手动拷贝完成这件事的最快捷和最简单的方法是什么?

Answer 1:

你应该对attach的文件到SQL Server实例。

CREATE DATABASE YourDatabaseName 
    ON (FILENAME = 'C:\your\data\directory\your_file.mdf'), 
    (FILENAME = 'C:\your\data\directory\your_file_Log.ldf') 
FOR ATTACH; 


Answer 2:

您需要将数据库文件附加到运行SQL Server的客户机上。 这可以通过使用存储在您的配置文件中的连接字符串,这种变化(或的app.config web.config文件)可以轻松完成

Server=.\SQLExpress;AttachDbFilename=where_you_have_stored_the_mdf_file;
        Database=dbname; Trusted_Connection=Yes;

在选择,你可以使用|DataDirectory| 替换字符串。
此快捷方式不再需要硬编码的完整路径。
使用DataDirectory目录,你可以有下面的连接字符串:

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\yourfile.mdf”
         Database=dbname; Trusted_Connection=Yes;


文章来源: SQL database deployment for VB.NET app