1

如问题标题所述;我有一个桌面应用程序,它是连接到 SQL 数据库的 Visual Studio 项目。我想为这个项目创建一个 exe 文件(安装文件),我如何附加数据库?

谢谢。

与解决方案相同的问题:使用 SQL 数据库快速部署 Visual Studio 2010 应用程序

4

4 回答 4

3

如果它是 SQL 服务器,我建议将数据库脚本编写到文件中,并使用自定义操作使用该脚本针对变量中指定的数据库服务器调用 osql。

于 2012-05-29T20:12:52.917 回答
2

将 MDF 作为内容文件添加到您的项目中。安装程序会将内容文件复制到安装文件夹,因此这只是在应用程序中正确使用该数据库的问题。SMO 或许可以提供帮助。

于 2012-05-29T20:15:21.377 回答
0

仅在安装期间创建数据库,如果需要,通过运行脚本进行创建和初始化
使用自定义脚本和自定义对话框来实现这一点。

于 2012-05-29T20:24:44.163 回答
0

您可以将xcopy 部署与 SQL Server Express 数据库一起使用。从提到的链接:

要使您的应用程序使用 SQL Server Express 的 Xcopy 部署功能,您必须确保您在应用程序中使用的连接字符串包含适当的参数:

使用数据源参数,但将计算机名称更改为句点 (.) 或 (local)。您还必须指定实例的名称,除非您确定 SQL Server Express 将始终安装在未命名的实例上。

使用初始目录或数据库参数,但不要将参数设置为值。

添加 AttachDBFileName 参数并将其设置为 .mdf 文件的名称和路径。Attachdbfilename 是一个 SqlClient 连接字符串选项,可以在运行时附加数据库并自动生成数据库名称。DataDirectory 关键字允许您指定数据库文件的相对路径。Attachdbfilename 还有助于数据库的可移植性。有关 Attachdbfilename 的详细信息,请参阅 Visual Studio 2005 文档。

以下连接字符串会将与应用程序可执行文件位于同一文件夹中的 MyDb.mdf 数据库文件附加到本地计算机上运行的 SQL Server Express 实例。

@"Data Source='.\SQLExpress'; Initial Catalog=; Integrated 
Security=true; AttachDBFileName='" |DataDirectory| + 
@"\MyDb.mdf'"
于 2012-05-29T20:27:26.000 回答