我使用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的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与SQL Server的连接).....
我花了好几个小时在互联网上搜索,但大多数回答的问题与我自己有一点不同,我尝试的一些建议并没有真正起作用。
答案 0 :(得分:2)
您还需要更改连接字符串的DataSource
。 KELVIN-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"
答案 1 :(得分:1)
默认情况下是数据源。\ 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)"
不知道你的实例,我可以帮助解决这个问题。希望它有所帮助
答案 2 :(得分:0)
嗯,你做错了吗?你会详细介绍一下安装情况,但显而易见的是什么呢?