通过更改exe.config SQL Server Express连接到另一台计算机

时间:2013-06-08 09:49:53

标签: vb.net sql-server-express sql-server-2008-express

我有问题将我的应用程序(在计算机A上)连接到具有数据库(.mdf文件)的另一台计算机(计算机B)。

这是我的代码

<connectionStrings>
   <add name="HS_App.My.MySettings.DatabaseHSConnectionString" 
        connectionString="Data Source=Computer-B\SQLEXPRESS;AttachDbFilename=Computer-B\Users\Computer-B\Desktop\HS App\DBHS\DatabaseHS.mdf;Integrated Security=True;User Instance=True"
        providerName="System.Data.SqlClient" />
</connectionStrings>

计算机A和B通过adhoc连接,并具有相同的环境IP地址。我能这样做吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果要使用AttachDbFileName的本地SQL Server Express实例用于位于另一台计算机上的数据库,它将无法工作:SQL Server需要本地文件系统访问,因为它执行一些有趣的底层文件系统使用数据库文件(.mdf和日志文件),因此位于网络共享(UNC路径)或Internet位置的MDF文件将不起作用,请参见此处:http://msdn.microsoft.com/en-us/library/ms254500(v=vs.80).aspx

  

System.Data.SqlClient将替换字符串解析为针对本地计算机文件系统的完整路径。因此,不支持远程服务器,HTTP和UNC路径名。如果服务器不在本地计算机上,则在打开连接时抛出异常。

如果要通过TCP连接到另一台计算机上已经运行的SQL Server Express实例,则需要首先在该服务器上设置TCP连接。请注意,您不能使用AttachDbFilename,因为该选项仅适用于SQL Server Express的“用户实例”。