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

Posted

技术标签:

【中文标题】通过更改 exe.config 连接到另一台计算机的 SQL Server Express【英文标题】:SQL Server Express connection to another computer by changing exe.config 【发布时间】:2013-06-08 09:49:53 【问题描述】:

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

【问题讨论】:

默认情况下禁用远程连接(从另一台计算机)到 SQL Server Express 数据库;请参阅this other SO question 及其有关如何启用 SQL Server Express 实例的远程连接 的答案 【参考方案1】:

如果您想使用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 的“用户实例”。

【讨论】:

以上是关于通过更改 exe.config 连接到另一台计算机的 SQL Server Express的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一台计算机连接到JavaDB?

如何通过 odbc_connect() 从另一台计算机连接到 Microsoft Access 数据库?

从另一台计算机连接到 localhost:3000 | expressjs,nodejs [重复]

为啥我无法从另一台计算机连接到 openfire 服务器?

text 在SSH连接到另一台机器时更改iTerm2配置文件(即:背景颜色)

从另一台计算机连接到在 Amazon EC2 上的 localhost 上运行的 Web 应用程序