VB.Netを使用して64ビットOSでDBFファイルから読み取る方法は?
3 に答える
Microsoft.Jet.OLEDB... の代わりに、Win7 の接続文字列で Microsoft.ACE.OLEDB... を使用する必要があります。詳細については、www.connectionstrings.com のaccdbセクションで入手できます。DBF ファイルにテーブルとして接続し、データ/スキーマのクエリを実行できます。
Win7 が 64 ビットで、MS Office が 32 ビット (Taskmanager winword.exe * 32) でインストールされている場合、ACE ドライバーは 32 ビット モードでインストールされるため、プログラム/ソース コードは DBF ファイルに接続されません。
見つけ方。
C:\windows\sysWoW64\odbcad32.exe で 32 ビット ODBC エミュレーターを開き、[ドライバー] タブに移動します。ACE プロバイダーを見つけるには、接続するための多くのドライバーが必要です。
C:\windows\system32\odbcad32.exe で 64 ビット ODBC アドミニストレーターを開き、[ドライバー] タブに移動します。「SQL サーバー」ドライバーのみ、または 64 ビットに固有のいくつかのドライバーが表示されますが、ACE ドライバーは表示されません。
解決
- 現在のプログラムを x86 モードでコンパイルして、32 ビット エミュレーター ドライバーを使用します。
- もう 1 つの解決策は、32 ビットの MS Office をアンインストールして 64 ビット バージョンを入手できるかどうかを調べることです。これにより、すべての問題が自動的に解決されます。
幸運を
ベンカット
プログラムを 32 ビットとしてコンパイルする必要があります。64 ビット OS でも問題なく動作します。プラットフォーム ターゲットを「Any CPU」または「x64」ではなく「x86」に変更します。その後、Visual FoxPro Ole Db Provider を使用して dbf ファイルにアクセスできます。