[英]Having problems trying to connect to local SQL Server database in Visual Studio 2010 using C#
[英]SQL Server problems to connect
我正在用C#和WPF开发一个程序。 我希望数据存储在SQL Server数据库中。 我在我的PC上创建了一个带有实例名称的连接字符串,这很有效。 但是当我想通过互联网连接IP地址时,我会遇到一些错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 未找到服务器或无法访问服务器验证实例名称是否正确以及SQL Server是否配置为允许远程连接。 (TCP提供程序,错误0 - 无法建立连接,因为目标计算机主动拒绝它。)
我启用了TCP / IP,允许在SQL配置管理器中进行远程连接,在我的防火墙中打开了一个1433的端口,但我仍然收到此错误。
我的连接字符串是这样的:
String connString = @"Network Library=dbmssocn;
Network Address=127.0.0.1,1433;
Integrated security=SSPI;
Initial Catalog=db";
SqlConnection conn = new SqlConnection(connString);
conn.Open( );
我的错误在哪里?
配置SQL Server以允许TCP / IP连接。 转到SQL Server配置管理器 - >网络然后是SQL Server命名实例的协议 - > TCP / IP。
看到这个图像!
你的连接字符串中有一个非常小的错误,说实话,我不能责怪你,因为它是SQL Sever行为的非常奇怪的方式。 我不确定此错误是否位于连接提供程序端或SQL Server实例端。 应用程序用于使用dbmssocn
(Win32 Winsock TCP / IP)连接到SQL Server的网络库的名称应始终以大写字母提及。 虽然我没有看到任何来自MS的相关MSDN文档来支持我的陈述,但它确实在我这样做时起作用。 以下是您应该用于修复错误的连接字符串。
String connString = @“Network Library = DBMSSOCN
; Network Address = 127.0.0.1,1433; Integrated security = SSPI; Initial Catalog = db”;
说真的,我在复制你的问题时吓坏了,而不是从我的问题中复制连接字符串,而是从其他博客复制:)。 但一切都很顺利。 我还假设在键入此答案时,您正在连接的sql server的默认(非命名实例)实例上实际存在名为“db”的数据库。 如果在连接字符串中更改网络库名称的大小写无效,则请仔细检查您要连接到的sql server默认实例的数据库“db”是否必须存在。 如果您在安装中使用sql server的命名实例,那么该实例名称也应该出现在连接字符串中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.