我开发了一个带有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附加自动命名数据库的Attempet 文件(x86)\ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data \ KBank.mdf失败, 存在同名的数据库或指定的文件不能存在 打开,或者它在UNC份额上的位置
似乎无法读取SQL数据库
答案 0 :(得分:2)
您的应用程序找不到连接字符串中指定的数据库文件,而不是与其连接。这是因为数据库是自动命名而不是数据文件。您需要做的就是将数据库附加到包中的数据文件,以便在部署时数据库将随之一起使用。 为此,在visual studio IDE上,在发布选项卡上选择“应用程序文件”,将数据库文件的“发布”状态从“包含自动”更改为“数据文件”,然后进行验证。这将在发布和部署时将数据库文件添加到ur应用程序。 要访问项目属性, 1)使用Visual Studio 2010/2012 - 单击项目菜单 - &gt;属性 - &gt;
我希望这有助于你。如果没有,我会再次尝试解释。 保持祝福
答案 1 :(得分:0)
我已解决了我的问题&gt;问题是我没有在我的项目解决方案中添加本地数据库..所以当我在另一台机器上尝试该项目时,应用程序找不到具有路径的指定连接sting:
C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data \ KBank.mdf; Integrated Security = True; Connect 超时= 30;用户实例=真
但是当我将本地数据库添加到我的项目解决方案时,连接字符串路径变为:
| DataDirectory目录| \ KBank.mdf
已成功附加项目文件 谢谢