2

我开发了一个带有 SQL Server 数据库的 C# 应用程序。当我尝试发布应用程序以对其进行测试时>>它在我的机器上正常工作(包括 SQL Server 数据文件夹中的数据库)>>但是当我将该已发布的应用程序移动到另一台机器时它不起作用。

我想知道将项目与其数据库一起部署的最简单方法

我在我的app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="cs" 
         providerName="System.Data.ProviderName" 
         connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data\KBank.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" />
  </connectionStrings>
</configuration>

我应该怎么做才能将数据库与部署的应用程序一起放置并动态修改数据库的连接字符串app.config

当我在用户机器上打开项目时显示的异常说:

尝试为文件 C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data\KBank.mdf 附加自动命名数据库失败,存在同名数据库或无法打开指定文件, 或其在 UNC 共享上的位置

似乎无法读取 SQL 数据库

4

2 回答 2

3

您的应用程序找不到连接字符串中指定的数据库文件,少谈连接。这是因为数据库是自动命名的,而不是数据文件。您需要做的就是将数据库作为附加的数据文件添加到包中,以便在部署时数据库将与它一起使用。为此,在 Visual Studio IDE 上,在发布选项卡上选择“应用程序文件”,将数据库文件的发布状态从“包含自动”更改为“数据文件”,然后验证。这将在发布和部署时将数据库文件添加到您的应用程序。要访问项目属性,1) 使用 Visual Studio 2010/2012 - 单击项目菜单 -> 属性 ->

我希望这对你有帮助。如果不是,我会尝试再次解释。祝好运

于 2013-10-23T18:07:59.667 回答
1

我已经解决了我的问题>问题是我没有将本地数据库添加到我的项目解决方案中。所以当我在另一台机器上尝试项目时,应用程序找不到具有路径的指定连接字符串:

C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data\KBank.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

但是当我将本地数据库添加到我的项目解决方案中时,连接字符串路径变为:

|数据目录|\KBank.mdf

已成功附上项目文件谢谢

于 2012-07-27T13:35:07.627 回答