2016-11-14 25 views
0

Windows認証(SSPI)を使用するOdbc PostgreSQL接続の接続文字列で、値を入力すると例外が発生します。ユーザー名を追加するとODBC SSPI接続が失敗する

エラー:

Connection problem: System.InvalidOperationException: The connection was not closed. The connection's current state is connecting. 
    at System.Data.ProviderBase.DbConnectionClosedConnecting.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) 
    at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
    at System.Data.Odbc.OdbcConnection.Open() 
    at ConsoleApplication1.Program.TestMethod(String connectionMethod) 

コード(テストのためにコーディングする引っ張るためのプログラムで開く()の最初の呼び出し):

try 
     { 
      using (OdbcConnection connection = new OdbcConnection(odbc_connection_string)) 
      { 
       connection.Open(); 
      } 
     } 
     catch (Exception ex) 
     { 
      System.Diagnostics.Trace.WriteLine("Connection problem: " + ex); 
      odbc = false; 
     } 

接続文字列:

odbc_connection_string = "[email protected];Driver={PostgreSQL Unicode};database=hostdb-4.2.0;server=localhost;port=5432;Trusted_Connection=yes"; 

Npgsql接続で入力ユーザ名が許可されます:

npgsql_connection_string = "Server=localhost;Port=5432;Database=hostdb-4.2.0;User [email protected];Integrated Security=true;"; 
+0

'(using)を使用せずに何が起こるのか試してみてください.OdbcConnectionを宣言して開きます。私はPwd =あなたのパスワードを使用していると思います – McNets

+0

これは同じ動作を示します。 –

答えて

0

InvalidOperationExceptionエラーが表示された理由はわかりません。通常、私はAccessViolationExceptionsを取得していました。

psqlodbc 9.3ドライバの1つがこの問題の原因です。 psqlodbcドライバを9.5.4に変更しました.UIDフィールドに値を入力できました。

関連する問題