如何解决system.data.sqlclient.sqlexception(0x80131904)错误

我已经使用C#和SQL Server 2008 R2在我的PC上创建了一个完美运行的应用程序。 我的连接字符串是:

connectionString="Data Source=KELVIN-PC;Initial Catalog=LMS;User ID=sa;Password=temperament" 

但我已将其发布并安装在另一台PC上。 我还将LMS.bak文件复制到PC并在其上恢复了MS SQL Server 2008 R2上的数据库。 但是每当它必须连接到另一台机器上的数据库时,它会给出以下错误:

System.Data.SqlClient.SqlException(0x80131904):在建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 validation实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 – 无法打开与SQL Server的连接)…..

我花了几个小时在互联网上搜索,但大多数回答的问题与我自己有一点点不同,我尝试的一些建议并没有真正起作用。

您还需要更改连接字符串的DataSourceKELVIN-PC是本地计算机的名称,sql server正在默认实例上运行。

如果您确定服务器作为默认实例运行,则可以始终使用. 在DataSource中,例如。

 connectionString="Data Source=.;Initial Catalog=LMS;User ID=sa;Password=temperament" 

否则,您需要指定服务器实例的名称,

 connectionString="Data Source=.\INSTANCENAME;Initial Catalog=LMS;User ID=sa;Password=temperament" 

数据源是默认的。\ SQLEXPRESS(默认情况下放置数据库的实例)或者如果你在安装sql server期间更改了实例的名称,所以我建议你这样做:

 connectionString="Data Source=.\\yourInstance(defaulT Data source is SQLEXPRESS); Initial Catalog=databaseName; User ID=theuser if u use it; Password=thepassword if u use it; integrated security=true(if u don t use user and pass; else change it false)" 

在不知道你的实例的情况下,我可以帮助解决这个问题。 希望它有所帮助

嗯,你做错了什么? 你会详细介绍一下安装情况,但显而易见的是什么呢?

  • 检查SQL Server中的其他服务器的网络配置。
  • 检查其他机器防火墙。 SQL Server不会自动打开端口,因此Windows防火墙通常会阻止访问..