この 1 週間、私は自分の Windows アプリケーションのセットアップを作成しようとしてきました。
作成した Windows アプリケーションをクライアント マシンにインストールしたいと考えています。そのために、セットアップ プロジェクトの作成中に Microsoft SQL Server 2008 Express を前提条件に追加しました。
クライアント マシンにデータベースとテーブルを作成するデータベース スキーマをインストールするために、プロジェクトにインストーラー クラスを 1 つ作成し、インストーラー クラスの手順から参照されるカスタム アクションを 1 つ追加しました。
これは私の接続文字列です
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 例外、ブール値 breakConnection)
で System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
で System.Data.SqlClient.TdsParser.Connect (ServerInfo serverInfo、SqlInternalConnectionTds connHandler、ブール値 ignoreSniOpenTimeout、Int64 timerExpire、Boolean encrypt、Boolean trustServerCert、Boolean integratedSecurity)
(System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo、String newPassword、Boolean ignoreSniOpenTimeout、TimeoutTimer timeout、SqlConnection owningObject) で)
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover (ServerInfo serverInfo、文字列 newPassword、Boolean redirectedUserInstance、SqlConnection owningObject、SqlConnectionString connectionOptions、TimeoutTimer タイムアウト)
で System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist (SqlConnection owningObject、TimeoutTimer タイムアウト、SqlConnectionString connectionOptions、文字列) newPassword、Boolean redirectedUserInstance)System.Data.SqlClient.SqlInternalConnectionTds..ctor (DbConnectionPoolIdentity ID、SqlConnectionString connectionOptions、オブジェクト providerInfo、文字列 newPassword、SqlConnection owningObject、Boolean redirectedUserInstance)
で System.Data.SqlClient.SqlConnectionFactory.CreateConnection (DbConnectionOptions オプション、オブジェクト poolGroupProviderInfo、DbConnectionPool プール、 DbConnection owningConnection) System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (DbConnection owningConnection、DbConnectionPool プール、DbConnectionOptions オプション) で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 で
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) の .GetConnection (DbConnection owningConnection)
WindowsFormsApplication5.Installer1.ExecuteSql
(String serverName, String dbName, String Sql )
データ ソースを変更する.\SQLEXPRESS
と、次のエラーが発生します。
System.InvalidOperationException: インスタンス エラー。
System.Data.SqlClient.TdsParser.Connect (ServerInfo serverInfo、SqlInternalConnectionTds connHandler、ブール値の ignoreSniOpenTimeout、Int64 timerExpire、ブール値の暗号化、ブール値の trustServerCert、ブール値の IntegratedSecurity)
で System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (ServerInfo サーバー情報、文字列 newPassword、ブール値ignoreSniOpenTimeout、TimeoutTimer タイムアウト、SqlConnection owningObject)
注:データベースのスキーマをインストールするスクリプトの実行中にこのエラーが発生します..
Windows データベース アプリケーションをクライアント マシンにインストールしたいだけです。もう時間がないので、他の提案も大歓迎です...
よろしく、 マヘシュ