テスト vb.net フォームから foxpro テーブル (.dbf) に接続しようとしています。「ファイル c:\emp\emptbl.dbf を開けません」というメッセージとともに OleDbException を受け取りました。
次の接続文字列の両方で試しました:
プロバイダー=VFPOLEDB.1;データ ソース=C:\emp\emptbl.dbf
ここのMSDNの記事から
Provider=vfpoledb;Data Source=C:\emp\emptbl.dbf;Collating Sequence=machine;
後者は、単一のテーブルに接続するときに使用するタイプのようですが、使用されているかどうかに関係なく同じ例外がスローされます。
Visual foxpro 6.0 で同じクエリを開いて実行できます。これが私のコードです:
Dim tbl As DataTable = New DataTable()
Using con = New OleDbConnection(conString)
cmd = New OleDbCommand() With {.Connection = con, .CommandType = CommandType.Text}
Dim sSQL As String = "SELECT * FROM(EMPTBL)"
cmd.CommandText = sSQL
Dim adp As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim ds As DataSet = New DataSet()
con.Open()
adp.Fill(ds)
con.Close()
If (ds.Tables.Count > 0) Then
tbl = ds.Tables(0)
End If
End Using
Return tbl