过去一周,我一直在尝试创建一个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数据库应用程序安装到客户端计算机上。由于我已经缺乏时间,任何其他建议也欢迎......
此致 马赫什
答案 0 :(得分:3)
Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True;User Instance=True