[英]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.