1

QODBC ドライバーをセットアップし、QB ファイルに接続して VB Demo 32 でクエリを実行することができました。

ここにあるサンプルファイルの 1 つを見ています。use-qodbc-via-visual-basic

この記事に書かれているとおり、すべてのテキストをテキスト ファイルにコピーし、「Customer.vbs」として保存しました。「Kim Garland」という名前の顧客を作成し、ダイアログ ボックスを閉じて、ファイルをダブルクリックしました。メッセージ ボックスが表示されず、次のエラー メッセージが表示された - 「[Microsoft][ODBC Driver Manager] 指定された DSN には、ドライバーとアプリケーションの間のアーキテクチャの不一致が含まれています。コード: 80004005; ソース: ODBC ドライバー用の Microsoft OLE DB プロバイダー」

ここで何が起こっているのか分かりますか?ナレッジ ベースに目を通した後、64 ビットと 32 ビットの違いに関係があるのではないかと考えましたが、それではどうにもなりませんでした。私は Visual Studio をインストールしていますが、VB6 アプリについて十分に理解しているわけではありません。

編集
ところで、エラーを出している行は次のとおりです。

oConnection.Open "DSN=Ben Test 2;OLE DB Services=-2"

私はもともと、リンク先の記事とまったく同じ行を使用していましたが、それも機能していませんでした. c:\windows\syswow64\odbcad32.exe を使用して、「Ben Test 2」という 32 ビット DSN を作成しました。何も変わっていないようでした。

4

2 に答える 2

1

64 ビット システムを使用しているため、VBS は 64 ビットとして実行されます (デフォルト)。

QODBC は 32 ビット ドライバーであり、32 ビット アプリケーションで動作します。64 ビット アプリケーションは 32 ビット ドライバーと通信できません。64 ビット アプリケーションから 32 ビット ドライバーへの通信も同様です。

64 ビット アプリケーションの場合は、QRemote (64 ビット ドライバー ドライバー) を使用します。

解決策 1 QRemote を使用して、QODBC とアプリケーションをブリッジすることができます。QRemote の使用方法に関する記事は次のとおりです: http://www.qodbc.com/qremoteconnect.htm

解決策 2 と、別の解決策があります。VBS を 32 ビットと呼んでください。以下の手順に従ってください。

1) Windows の [スタート] をクリックします。

2) [実行] をクリックし、ウィンドウに「%windir%\SysWoW64\cmd.exe」と入力します。

3) [OK] をクリックし、コマンド ウィンドウに「cscript vbscriptfile.vbs」と入力します。

これにより、64 ビット マシンを使用している場合でも、VBS が 32 ビット モードで実行されます。

-よろしくラジェンドラ・デワニ

于 2012-08-23T06:40:58.367 に答える
1

彼らがそれについて話しているマイクロソフトのウェブサイトを見てください。これは VB の問題ではなく、ご想像のとおり 32/64 ビットの問題です。

http://social.msdn.microsoft.com/Forums/en/sqlgetstarted/thread/702f0d9b-6cb9-49cf-9953-80d059711e60

于 2012-08-21T19:57:50.207 に答える