0

Pyodbc を使用して Oracle データベースに接続しようとしました:

try:
    db_connection = pyodbc.connect('DSN=OraDev; PWD=%s' % Key.dbKeys['password'])
except pyodbc.Error, err:
        print >> debug_file, "Database connection failed: %s" %err 
        sys.exit()

そして、このエラーメッセージが表示され続けます:

'[IM014] [Microsoft][ODBC Driver Manager] 指定された DSN には、ドライバーとアプリケーション (0) の間でアーキテクチャの不一致が含まれています (SQLDriverConnect)

したがって、「一致する」コンポーネントがないことが原因であるかどうか疑問に思っています。現在、私は持っています:

  1. パイソン 2.7 32 ビット
  2. Pyodbc 3.0.6 win32-py2.7
  3. Oracle ODBC ドライバー: 32 ビット
  4. Windows サーバー 2008 64 ビット
  5. オラクル 11.2.0 64 ビット

ここのバージョンに問題はありますか?ありがとう。

4

1 に答える 1

1

あなたが抱えている問題は、64 ビットの Windows が 32 ビットの ODBC でうまく動作しないことです。詳細については、こちらをご覧ください。

32 ビット バージョンの ODBC アドミニストレーター ツールと 64 ビット バージョンの ODBC アドミニストレーター ツールは、32 ビット ユーザー DSN と 64 ビット ユーザー DSN の両方を 64 ビット バージョンの Windows オペレーティング システムで表示します

回避策は、実装しようとしているアーキテクチャの ODBC ドライバーを明確にターゲットにすることです。

補足として、混合アーキテクチャ プラットフォームで Oracle 用の ODBC を実装しようとすると、頭の痛い問題になりました。したがって、CX_Oracleを介して Oracle へのアクセスを実装しました。

于 2012-09-25T02:24:31.570 に答える