在客户端计算机上找不到数据库服务器

时间:2012-08-30 09:27:28

标签: c# visual-studio-2010 sql-server-2008

过去一周,我一直在尝试创建一个Windows应用程序的设置。

我创建了一个Windows应用程序,我想在客户端计算机上安装它。为此,我在创建安装项目时已经在先决条件中添加了Microsoft SQL Server 2008 Express。

现在,为了安装在客户端计算机上创建数据库和表的数据库模式,我在项目中创建了一个安装程序类,并添加了一个来自installer class steps的自定义操作

这是我的连接字符串

Data Source=localhost;Initial Catalog=master;Integrated Security=True;User Instance=True  

但我只收到这个错误:

  

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

     

在System.Data.SqlClient.SqlInternalConnection.OnError(SqlException   exception,Boolean breakConnection)
  在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
  在System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo,SqlInternalConnectionTds connHandler,Boolean   ignoreSniOpenTimeout,Int64 timerExpire,Boolean encrypt,Boolean   trustServerCert,Boolean integratedSecurity)
  在System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo   serverInfo,String newPassword,Boolean ignoreSniOpenTimeout,   TimeoutTimer超时,SqlConnection拥有对象)
  在System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo   serverInfo,String newPassword,Boolean redirectedUserInstance,   SqlConnection owningObject,SqlConnectionString connectionOptions,   TimeoutTimer超时)
  在System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection   owningObject,TimeoutTimer超时,SqlConnectionString   connectionOptions,String newPassword,Boolean redirectedUserInstance)

     

at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity)   identity,SqlConnectionString connectionOptions,Object providerInfo,   String newPassword,SqlConnection owningObject,Boolean   redirectedUserInstance)
  在System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions   options,Object poolGroupProviderInfo,DbConnectionPool池,   DbConnection owningConnection)   在System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection)   owningConnection,DbConnectionPool池,DbConnectionOptions选项)

     

at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection)   owningObject)
  在System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection)   owningObject)
  在System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection   owningObject)
  在System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection   owningConnection)
  在System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection   outerConnection,DbConnectionFactory connectionFactory)
  在System.Data.SqlClient.SqlConnection.Open()
  在WindowsFormsApplication5.Installer1.ExecuteSql(String serverName,String dbName,String Sql)

将数据源更改为.\SQLEXPRESS会导致此错误:

  

System.InvalidOperationException:实例失败。
  在System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo,SqlInternalConnectionTds connHandler,Boolean   ignoreSniOpenTimeout,Int64 timerExpire,Boolean encrypt,Boolean   trustServerCert,Boolean integratedSecurity)
  在System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo   serverInfo,String newPassword,Boolean ignoreSniOpenTimeout,   TimeoutTimer超时,SqlConnection owningObject)

注意:执行安装数据库架构的脚本时出现此错误。

我只想将我的Windows数据库应用程序安装到客户端计算机上。由于我已经缺乏时间,任何其他建议也欢迎......

此致 马赫什

1 个答案:

答案 0 :(得分:3)

Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True;User Instance=True