我正在尝试连接到HISTORY.DBF
具有链接 SMT 文件 ( ) 的 DBF ( HISTORY.SMT
)。我有多个 DBF 文件,除了带有 SMT 文件的文件之外,我可以连接到所有文件。
查看 DBF 的标头信息表明它是 Clipper(E5 标头)格式的 DBF,对于大多数文件使用下面的连接代码可以正常读取,但是一旦我尝试读取具有关联 SMT 的文件,它就会失败并出现错误:
外部表不是预期的格式
我的代码如下
Dim dsDataSet As New DataSet
Dim ConnectionString As String
Dim daDataAdapter As OleDb.OleDbDataAdapter
Dim dBaseConnection As New System.Data.OleDb.OleDbConnection
Dim strFilePath As String = gloStrPath & "data"
Dim strDBF As String = "HISTORY.DBF"
Try
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFilePath & ";Extended Properties=dBase III;"
dBaseConnection = New System.Data.OleDb.OleDbConnection(ConnectionString)
If dBaseConnection.State = 0 Then dBaseConnection.Open()
Catch ex As Exception
MsgBox(ex.Message, 16, "Error")
End Try
Try
daDataAdapter = New OleDb.OleDbDataAdapter("select * from " & strDBF, dBaseConnection)
daDataAdapter.Fill(dsDataSet, "Name")
Catch ex As Exception
MsgBox(ex.Message, 16, "Error")
End Try
谁能提供任何关于我做错了什么或我错过了什么的见解?