我正在用C#和WPF开发程序。我希望将数据存储在SQL Server数据库中。我在PC上用实例名称创建了一个连接字符串,并且可以正常工作。但是,当我想使用IP地址通过Internet连接时,会出现一些错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器验证实例名称正确,并且将SQL Server配置为允许远程连接。(TCP提供程序,错误0-无法建立连接,因为目标计算机主动拒绝了该连接。)
我启用了TCP / IP,允许在SQL Configuration Manager中进行远程连接,在防火墙中打开了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 Sever表现的非常怪异的方式。我不确定此错误是在连接提供程序端还是在SQL Server实例端。您的应用程序用来通过dbmssocn
(Win32 Winsock TCP / IP)连接到SQL Server的网络库的名称应始终以大写字母提及。尽管我没有从MS那里获得任何相关的MSDN文档来支持我的陈述,但是当我这样做时它确实起作用了。这是您应该用来修复错误的连接字符串。
字符串connString = @“网络库= DBMSSOCN
;网络地址= 127.0.0.1,1433;集成安全性= SSPI;初始目录= db”;
认真地说,我很想重现您的问题,因为我没有从您的问题中复制连接字符串,而是从其他博客中复制了它:)。但是一切顺利,一切顺利。我还假设键入此答案时,您要连接的SQL Server的默认实例实例(未命名实例)上实际存在一个名为“ db”的数据库。如果更改连接字符串中网络库名称的大小写无济于事,请再次检查数据库“ db”对于要连接到的sql server默认实例是否必须存在。如果您在安装中使用的是sql服务器的命名实例,则该实例名称也应包含在连接字符串中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句