0

我无法将我的应用程序(在计算机 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 地址。我可以这样做吗?提前致谢。

4

1 回答 1

0

如果您想将本地 SQL Server Express 实例AttachDbFileName用于位于另一台计算机上的数据库,它将无法工作: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 的“用户实例”。

于 2013-06-08T10:41:18.897 回答