繁体   English   中英

SQL Server连接问题

[英]SQL Server connection issue

我在Windows Server 2003上使用VSTS 2008 + .Net 3.5 + C#+ SQL Server 2008 Enterprise。我使用以下连接字符串,而labtest1是本地计算机名称,我使用ADO.Net从本地计算机连接。 然后,它总是会因连接错误而失败。 但是,当我将连接字符串从“ labtest1”更改为“。”时,使用相同的ADO.Net客户端代码连接就不会出现问题。 任何想法有什么问题吗?

Data Source=labtest1;Initial Catalog=CustomerDB;Trusted_Connection=true;Asynchronous Processing=true

这是我得到的详细错误消息,

System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:命名管道提供程序,错误:40-无法打开与SQL Server的连接)

在我看来,这是一个Sql Server配置问题:您是否尝试过调整Sql Server网络配置中的协议? 应该启用命名管道或TCP / IP。

当您使用“。” 或“(本地)”它连接到PC上的默认实例,也许SQL Server随实例一起安装,在这种情况下,您必须以“ SERVER \\ INSTANCE_NAME”格式在连接字符串中指定实例名称。

在SQL Management Studio中,执行此查询以查看完整的服务器\\实例名称

select @@servername

我以前曾在ZoneAlarms阻止连接(在试图连接到SQL Server的计算机上)上看到此问题。 我会花一些时间研究防火墙等方面的内容。

希望这可以帮助

您是否在网络配置中启用了命名管道网络协议? (在SQL Server配置管理器-sql server 2005中,这就是我所拥有的,在2008年可能有所不同-您应该能够验证此设置)

尝试按计算机名ping labtest1ping labtest1 如果找不到服务器,请尝试使用域名ping labtest1.mydomainname.com 如果这行得通,那么您只需要在域控制器中添加/修复DSN别名,或者仅重新登录计算机即可。

另一个选项-可能不相关-但您尚未指定安全模型,至少没有在示例中提供的字符串中指定。

我希望看到:连接字符串中的Integrated Security = True(假定其为本地计算机)。

可能相关的另一件事是-如前所述-协议,我希望确保已启用TCP / IP。

暂无
暂无

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

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