2

大規模なアプリケーションを Windows XP から Windows 7 に移植しようとしています。22 台のクライアント マシンがあり、現在はすべて Windows XP ですが、時間の経過とともに 1 つずつ Windows 7 に変換されるため、このアプリケーションは両方のプラットフォームで同時に動作する必要があります。 .

XP で正常に動作する MySql データベースがあり、数年前から使用されています。私の最初の Windows 7 マシンでは、次のコード行を実行してデータベースへの接続を開くと失敗します。

MyOdbcConnection.Open()

エラーは「エラー [IM002] [Microsoft][ODBC Driver Manager] データ ソース名が見つからず、既定のドライバーが指定されていません」です。

これを修正するために、MySql から最新の ODBC 5.2 ドライバーをダウンロードしました。32ビットと64ビットの両方をダウンロードしました。32 ビットと 64 ビットの両方の ODBC データ ソース アドミニストレータにアクセスし、ユーザー DSN、システム DSN、およびファイル DSN のこのデータベースにデータ ソースを正常に追加しました。MySql ワークベンチから db に正常に接続することもできます。

これは私の接続文字列です。5.1ドライバーを使用していることを除いて、他の稼働マシンと同じです。

Dim MySqlConString As String = "DRIVER={MySQL ODBC 5.2 Driver};" & _ "SERVER=myserver;" & _ "DATABASE=mydb;" & _ "UID=root;" & _ "PASSWORD=mypw;" & _ "OPTION=3" – Jason Shoulders 3 hours ago

データ ソースを追加し、ワークベンチ経由でデータベースに接続できるにもかかわらず、exe を実行すると引き続きエラーが発生します。助言がありますか?

4

4 に答える 4

0

どうやら私は持っている必要がありました:

DRIVER={MySQL ODBC 5.2w Driver}

足が不自由なようです。「w」がどこから来たのかわかりません。

于 2012-12-03T21:34:49.607 に答える
0

ユーザー、システム、およびファイルの DSN をコードで使用していないため、それらを追加してもほとんど意味がありません。通常「DSN レス」接続と呼ばれるものを使用しています。作成した DSN のいずれかを使用していた場合、接続文字列は "DSN=my_created_dsn" または FILEDSN=path_to_file になります。"DRIVER={xxx}" を使用しているため、ロードするドライバーを ODBC ドライバー マネージャーに伝え、接続文字列内の他の属性がドライバーに接続先の mysql db を伝えるだけです。xxx に使用する名前は、odbc ドライバー タブに表示されるドライバーの名前と正確に一致する必要があります。このまま接続を続ける場合は、すべての DSN を削除できます。

于 2012-12-04T08:51:34.390 に答える
0

32 ビットの Windows XP Pro SP3 で Visual Fox Pro 9.0 を使用しています。

私は同じ問題を抱えていましたが、idは機能しませんでした:

Driver={MySQL ODBC 5.2a Driver} または Driver={MySQL ODBC 5.2w Driver} を使用

出来た!!!と:

Driver={MySQL ODBC 5.2 ANSI Driver} または Driver={MySQL ODBC 5.2 UNICODE Driver} を使用

それを試してみてください。

于 2013-09-09T06:46:55.693 に答える
0

32 ビット プログラムは 64 ビット odbc ドライバーを見つけられません。コマンドウィンドウで次のように32ビットドライバーをセットアップしてみてください

%WINDIR%\syswow64\odbcad32.exe
于 2013-08-01T11:27:35.423 に答える