我正在尝试从测试 vb.net 表单连接到 foxpro 表 (.dbf)。我收到带有消息“无法打开文件 c:\emp\emptbl.dbf”的 OleDbException
已尝试使用以下两个连接字符串:
提供者=VFPOLEDB.1;数据源=C:\emp\emptbl.dbf
从这里的 MSDN 文章
提供者=vfpoledb;数据源=C:\emp\emptbl.dbf;整理顺序=机器;
后者似乎是连接到单个表时使用的类型,但无论使用哪种类型都会引发相同的异常。
我可以在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