C# 网络关闭时无法连接到本地数据库

C# 网络关闭时无法连接到本地数据库,c#,sql-server,database-connection,connection-string,C#,Sql Server,Database Connection,Connection String,我正在使用以下连接字符串连接到本地计算机上的数据库。问题是,若网络瘫痪,那个么我就无法连接到我的数据库,尽管应用程序正在连接到同一台机器上的数据库。我做错了什么 add name=“MainDb”connectionString=“数据源=MyComputerName,1433;网络库=DBMSSOCN;初始目录=MyLocalDatabase;集成安全性=False;用户=MyUser;密码=MyPassword;” 使用localhost作为您的计算机名。localhost使用共享内存连接,

我正在使用以下连接字符串连接到本地计算机上的数据库。问题是,若网络瘫痪,那个么我就无法连接到我的数据库,尽管应用程序正在连接到同一台机器上的数据库。我做错了什么

add name=“MainDb”connectionString=“数据源=MyComputerName,1433;网络库=DBMSSOCN;初始目录=MyLocalDatabase;集成安全性=False;用户=MyUser;密码=MyPassword;”


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


另外,使用sql server configuration manager验证共享内存是否已启用。

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

还要确认实例在哪个端口上运行(通常为1433),并在IP地址之后提供:

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

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

以下是有关网络库参数的一些信息

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

我使用的是SQL Server 2008 R2,如果您使用的是旧版本,则提供程序的版本可能不同

以下是一个似乎与类似问题有关的问题:

问候


Piotr

您是否尝试过使用环回ip?(127.0.0.1)验证了已启用共享内存,但使用localhost(而不是我的计算机名)似乎没有帮助。这可能是因为我的连接字符串中有networklibrary=dbmsscn吗?