いくつかのクライアントから来る.DBFファイルをプレビューできるようにするVB.NETアプリケーションがあります。アプリケーションは、このファイルからCSVを吐き出して、さまざまな環境で使用できるようにします。 このアプリケーションはWindows XP 32ビットで動作しました。私たちの会社は最近、ほとんどの人をWindows 7 x64にアップグレードしたため、このアプリケーションが失敗しました。私は、このアプリケーションのターゲットビルドが "任意のCPU"ではなくx86であることを確認して、同じ問題が発生してもアプリケーションを再ビルドしました。XPの下で働いていたWindows 7の.DBFファイルを開くことができません
元はSystem.Data.Odbc
とconnection.ConnectionString = "Driver={Microsoft dBASE VFP Driver (*.dbf)};SourceType = DBF;SourceDB=" & dbfSourcePath & ";Exclusive=No; Collate=Machine;BACKGROUNDFETCH=NO;"
を使用しました。 障害の場所はconnection.Open()
です。 "エラー[IM001] [マイクロソフト] [ODBCドライバマネージャ]ドライバはこの機能をサポートしていません"エラーが表示されます。
VFPのドライバがインストールされておらず、Access DBFドライバがポストhereのように動作していないことに気付きました。記載されている修正プログラムはVFPro SP2をインストールすることですが、FoxProをインストールしてもサービスパックをインストールする必要はありません。私はその後、VFP 9.0用のOLEDBドライバをインストールしようとしましたが、現在はSystem.Data.OleDb
とconnection.ConnectionString = "Provider=VFPOLEDB.1;SourceDB=" & dbfSourcePath & ";"
を使用していますが、connection.Open()
行に "Feature is not available"と表示されます。
私は、このアプリケーションをWindows 7 x64で動作させる方法を完全に失っています。以下 は、読みやすくするために削除されたファイルのオープンパスとコードの2つの変異体である(私はパスとファイルを存在して確認しました):
ODBCバージョン:
Imports System.Data.Odbc
Dim strSelect As String
strSelect = "SELECT * FROM " & dbfSourceName
Dim connection As New Odbc.OdbcConnection
Dim adp As New Data.Odbc.OdbcDataAdapter
connection.ConnectionString = "Driver={Microsoft dBASE VFP Driver (*.dbf)};SourceType = DBF;SourceDB=" & dbfSourcePath & ";Exclusive=No; Collate=Machine;BACKGROUNDFETCH=NO;"
Dim command As New OdbcCommand(strSelect, connection)
connection.Open() ' Here is where it throws the error.
OLEDBバージョン:
Imports System.Data.OleDb
Dim strSelect As String
strSelect = "SELECT * FROM " & dbfSourceName
Dim connection As OleDbConnection = New OleDbConnection()
Dim adp As New Data.OleDb.OleDbDataAdapter
connection.ConnectionString = "Provider=VFPOLEDB.1;SourceDB=" & dbfSourcePath & ";"
Dim Command As New OleDbCommand(strSelect, connection)
connection.Open() 'Error occurs here.
Windows 7 x64でこれらの.DBFファイルを開くには、OLEDBまたはODBC接続を使用するにはどうすればよいですか?
チェック:私はここに掲載する前にhttp://connectionstrings.com/dbf-foxpro –
うんは、そのサイトに行ってきました。問題は、Windows 7 x64でconnection.Open()が失敗することです。 Windows XPではODBCバージョンが正しく機能しました。 – wergeld