网络故障时无法连接到本地数据库
我正在使用以下连接字符串连接到本地计算机上的数据库。问题是,如果网络出现故障,尽管应用程序正在连接到同一台计算机上的数据库,但我无法连接到我的数据库。我做错了什么?
add name="MainDb" connectionString="数据源=MyComputerName,1433;网络库=DBMSSOCN;初始目录=MyLocalDatabase;集成安全性=False;用户=MyUser;密码=MyPassword;"
I am using following connection string to connect to database on local machine. Problem is that if network goes down then i cannot connect to my database although application is connecting to database on same machine. What am I doing wrong?
add name="MainDb" connectionString="Data Source=MyComputerName,1433;Network Library=DBMSSOCN;Initial catalog=MyLocalDatabase;Integrated Security=False;User=MyUser;Password=MyPassword;"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 localhost 作为您的计算机名称。 localhost 使用共享内存连接,而不是通过网络层进行攀爬。
还要使用 sql server 配置管理器验证共享内存是否已启用。
Use localhost as your computer name. localhost uses a shared memory connection, rather than climbing through the network layer.
Also verify, with sql server configuration manager, that shared memory is enabled.
尝试从连接字符串中删除网络库参数。通过这种方式,您可以强制连接提供者使用特定的协议。如果禁用网络 (TCP),则提供商可能无法连接。
这是有关网络库参数的一些信息
http://support.microsoft.com/kb/238949
如果未提供网络库,应用程序按照在 SQL Server 配置管理器、SQL Native Client 10.0 配置、节点客户端协议中指定的顺序使用协议。当然,这些协议必须在服务器端启用,如果是同一台计算机,则仅位于“SQL Server 网络配置”的“协议”中。
我使用的是SQL Server 2008 R2,如果您使用的是旧版本,则提供程序的版本可能会有所不同。
这是一个看起来与类似问题有关的问题:
SQL Server 通信协议问题
问候
皮奥特
Try to remove Network Library parameter from connection string. This way you are forcing the connection provider to use specific protocol. If you disable networking (TCP), it may be that the provider is not able to connect.
Here's some info about Network Library parameter
http://support.microsoft.com/kb/238949
If the Network Library is not provided, application uses protocols in order specified in the SQL Server Configuration Manager, in SQL Native Client 10.0 Configuration, in node Client Protocols. These protocols must be of course enabled on the server side, which in case of the same machine is just located in the SQL Server Network Configuration, in Protocols.
I am using SQL Server 2008 R2, if you are using older, the version of the provider may be different.
Here is a question that looks to be concerned about similar issue:
SQL Server communication protocol issue
Regards
Piotr
使用 DBMSSOCN 时,请尝试提供数据库实例的 IP 地址,而不是MyComputerName。正如@Dalen建议的那样,127.0.0.1
http://www.connectionstrings.com/sql-server
还确认实例正在运行的端口(通常是 1433)并在 IP 地址后提供该端口:
When using DBMSSOCN, try supplying the IP address of the database instance, instead of MyComputerName. As @Dalen suggested, 127.0.0.1
http://www.connectionstrings.com/sql-server
Confirm also what port the instance is running on (usually 1433) and supply that after the IP address: