通过更改 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的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 odbc_connect() 从另一台计算机连接到 Microsoft Access 数据库?
从另一台计算机连接到 localhost:3000 | expressjs,nodejs [重复]