网络中断时无法连接到本地数据库

时间:2011-06-02 18:52:58

标签: c# sql-server database-connection connection-string

我正在使用以下连接字符串连接到本地计算机上的数据库。问题是,如果网络出现故障,我就无法连接到我的数据库,尽管应用程序连接到同一台机器上的数据库。我做错了什么?

  

add name =“MainDb”connectionString =“Data Source = MyComputerName,1433; Network Library = DBMSSOCN; Initial catalog = MyLocalDatabase; Integrated Security = False; User = MyUser; Password = MyPassword;”

3 个答案:

答案 0 :(得分:2)

使用localhost作为您的计算机名称。 localhost使用共享内存连接,而不是爬过网络层。

同时使用sql server配置管理器验证是否已启用共享内存。

答案 1 :(得分:0)

使用DBMSSOCN时,请尝试提供数据库实例的IP地址,而不是 MyComputerName 。正如@Dalen建议的那样,127.0.0.1

http://www.connectionstrings.com/sql-server

确认运行实例的端口(通常为1433)并在IP地址后提供该端口:

 Data Source=127.0.0.1,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

答案 2 :(得分:0)

尝试从连接字符串中删除网络库参数。这样,您就强制连接提供程序使用特定协议。如果禁用网络(TCP),则可能是提供程序无法连接。

以下是有关网络库参数的一些信息 http://support.microsoft.com/kb/238949

如果未提供网络库,则应用程序将在SQL Server配置管理器中的SQL Native Client 10.0配置中,在节点客户端协议中按顺序使用协议。当然,必须在服务器端启用这些协议,如果同一台计算机只位于SQL Server网络配置中的协议中。

我使用的是SQL Server 2008 R2,如果您使用的是旧版本,则提供商的版本可能会有所不同。

这是一个关注类似问题的问题:

SQL Server communication protocol issue

此致

·彼得