2012-03-08 106 views
0

.netコンソールアプリケーションでAccess 2007データベース(.accdb)に接続しようとしています。 ODBC ManagerにSystem DSNをセットアップしました。それは完璧に動作します私の開発マシン上でC#ODBCドライバのSQLSetConnectAttrが失敗しました

conn = new OdbcConnection(); 
conn.ConnectionString = "DSN=HU-FU"; 
conn.Open(); 

が、今日私は、クライアントマシンにインストールしようとしましたが、私は次のエラー取得しています:

を これは私が接続を設定しています方法です
ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed 

誰かが問題になる可能性がありますか?ここで


ODBCトレースソースされています

UPSShipmentServ 1454-6f0 ENTER SQLDriverConnectW 
    HDBC    0x00424070 
    HWND    0x00000000 
    WCHAR *    0x69938B34 [  -3] "******\ 0" 
    SWORD      -3 
    WCHAR *    0x69938B34 
    SWORD      -3 
    SWORD *    0x00000000 
    UWORD      0 <SQL_DRIVER_NOPROMPT> 

UPSShipmentServ 1454-6f0 EXIT SQLDriverConnectW with return code -1 (SQL_ERROR) 
    HDBC    0x00424070 
    HWND    0x00000000 
    WCHAR *    0x69938B34 [  -3] "******\ 0" 
    SWORD      -3 
    WCHAR *    0x69938B34 
    SWORD      -3 
    SWORD *    0x00000000 
    UWORD      0 <SQL_DRIVER_NOPROMPT> 

DIAG [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed (0) 

UPSShipmentServは私のアプリの名前です。しかし、これは悲しいことに私に何も意味しません...


もう1つ質問に追加します。両方のマシンでAccessドライバの(ACEODBC.DLL)バージョンをチェックして、私のクライアントよりもずっと新しいです。それは問題だろうか?彼のドライバーを更新する方法はありますか?

ありがとうございました。

+1

クライアントマシンにDSNをセットアップしましたか? – AnarchistGeek

+0

どのSQLSetConnectAttr属性が失敗しているかを知る必要があります。 ODBCアドミニストレーターでトレースを有効にしてから、再度接続してトレースを調べ、設定に失敗した属性を確認します。 – bohica

+0

DSNがクライアントマシンに設定されていますが、それは問題ではありません。 – bazsano1

答えて

0

(これは正しい方法必要ありません)たぶん私はオフだが、私は通常、直接BDのファイルへのアクセスを参照してください:

String dbPath = "c:\access.accdb"; 
    OleDbCommand cmd = new OleDbCommand(); 
    OleDbConnection mycon = new OleDbConnection(); 
    mycon.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbPath + ";Jet OLEDB:Database Password=thePassword;"; 
    cmd = mycon.CreateCommand(); 
    cmd.CommandText = Query; 
    mycon.Open(); 
+0

私はこれを試すことができますが、私はそれが問題だとは思わない。 – bazsano1

0

は、あなたがそれをインストールするクライアントコンピュータ上のODBCデータソースアドミニストレータに入ります と「HU_FU」

2

オーケー人は、私はこの質問をお詫びしなければならないデータソースを追加...

私が問題だったか知っています。それは愚かなエラーです。 ODBCマネージャで、DSNをセットアップするとき、私はaccdbファイルを正しく選択しませんでした。だから私のプログラムはDSNのために選択されたdbファイルがなかったので失敗しました。

次回このエラーが表示される場合は、DSNが正しく設定されていることを確認してください。とにかく返信いただきありがとうございます。

関連する問題