2

私は次のような接続文字列を持っています

Driver = {SYBASE ASE ODBC Driver}; Srvr = ; Uid = ; Pwd = ; Database = dbname;
ポート=
*
;WorkstationID = {WorkstationID}; ApplicationName = Wingman

を使用して接続を開こうとするとConn.open()、次のエラーが発生します。

:ERROR [IM002] [Microsoft] [ODBC Driver Manager]

データソース名が見つからず、デフォルトのドライバが指定されていません

この問題はWindows7に固有のものですか?

ODBCデータソースアドミニストレータ(64ビット)でシステムDSNを作成するなど、いくつかの方法を試しましたが、コードはODBCデータソースアドミニストレータ(32ビット)を参照しています。

ODBCアドミニストレータ(32ビット)でSybaseのドライバが見つかりません。

4

1 に答える 1

2

Win7 64ビットシステムを使用している場合は、32ビットドライバー用のODBCアドミニストレーターを手動で参照してください。

%systemdrive%\Windows\SysWoW64\ODBCAD32.EXE

コントロールパネル/管理ツール内のアイコンは、64ビットバージョンを示しています。

32ビットバージョンのODBCアドミニストレータツールは32ビットシステム/ユーザーDSNのみを表示し、64ビットバージョン(%systemdrive \ Windows \ System32 \ ODBCAD32.exeにあります)は64ビットシステム/ユーザーDSNのみを表示します。ドライバーに適したバージョンで作業する必要があります。

コードがAnyCPUプラットフォーム用にコンパイルされ、64ビットシステムで実行されている場合、ODBCAD32.exeのx64バージョンで定義されたデータソースを調べ、このデータソースは32ビットドライバーを使用できません。一方、コードがx86プラットフォーム用にコンパイルされ、64ビットシステムで実行されている場合は、ODBCAD32.exeのx86バージョンで定義されているデータソースを調べます。正しい場所にデータソースを定義するのはあなた次第です。

于 2012-10-18T09:33:46.007 に答える