繁体   English   中英

SQL Server 2005 localhost系统DSN无法正常工作

[英]Sql Server 2005 localhost System DSN not working

我有一个C#.Net 3.5可执行文件,该文件在本地计算机上运行,​​并对运行SQL Server 2005的服务器进行数据库调用。我在本地计算机上使用“ Sourceserver”(带有驱动程序设置为SQL Server)。 创建DSN时,可以成功测试到服务器的连接。

我已将localserver添加到可执行文件的连接字符串中,并且收到错误消息“与SQL Server建立连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问该服务器。请验证实例名称正确,并且SQL Server已配置为允许远程连接。(提供者:命名管道提供程序,错误:40-无法打开与SQL Server的连接)”

我连接到的服务器允许进行远程连接。 当我用服务器名称替换localserver时,它连接正常,但是此程序将在具有多个服务器名称的多个位置,因此我需要使数据源动态化。

有什么想法为什么会这样?

谢谢,

亚伦

编辑:

我也尝试使用“ localserver,1433”作为数据源,但出现此错误:“与SQL Server建立连接时发生了与网络有关或与实例有关的错误。找不到服务器或无法访问服务器。验证实例名称正确并且已将SQL Server配置为允许远程连接。(提供者:TCP Provider,错误:0-此类主机未知。)”

编辑:

谢谢你的回复。 为了解决我的问题,我做了一个小方法来使用odbc连接收集服务器名称。

然后,我可以将服务器名称发送到SqlConnection。 再次感谢您的输入。

SqlClient(即SqlConnection)与ODBC完全无关。 因此,在SqlClient连接字符串中使用ODBC数据源名称将使您无处快速。

您可以在app.config中配置服务器名称,并使用SqlConnectionStringBuilder构建连接字符串。 在部署时,您可以适当地更改exe或用户的.config文件。

正如Remus所说,DSN与SqlConnection无关。 而是使用以下连接字符串:

http://www.connectionstrings.com/sql-server-2005#1

另请阅读:

http://msdn.microsoft.com/zh-CN/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

以上文章摘录:

要连接到本地计算机,请为服务器指定“(本地)”。 如果未指定服务器名称,则将尝试连接到本地计算机上的默认实例。

我会重复说SqlConnection与DSN无关,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM