0

我需要在我的 ASP.NET 应用程序中打开并读取一个 Dbase 文件。当我尝试打开连接时,出现“找不到可安装的 ISAM”异常。我已经尝试了这个问题的最佳答案中的解决方案,但它们对我不起作用。

数据文件的文件路径是 C:\dev\DATA.DBF。这是我用来尝试打开连接的代码:

Dim connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\dev\DATA.DBF;Extended Properties=dBASE IV;"
Dim connection As OleDbConnection = New OleDbConnection(connectionString)
connection.Open()

此时我收到异常“找不到可安装的 ISAM”。你有什么想法我可以尝试让它工作吗?请注意,我可以将此文件作为 dBASE IV 文件导入 Access 数据库。

我在 Windows 7 上运行 Visual Studio 2008。如果您需要更多信息,请告诉我。谢谢你的帮助。

4

1 回答 1

3

我找到了解决这个问题的方法。我使用了这篇文章中概述的技术。

我使用的是 ODBC 连接而不是 OLE 连接。这是代码:

Dim connectionString = "Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=C:\dev;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;"
Dim connection As OdbcConnection = New OdbcConnnection(connectionString)
Dim command As OdbcCommand = New OdbcCommand("SELECT * FROM C:\dev\DATA.DBF", connection)
connection.Open()
Dim reader As OdbcDataReader = command.ExecuteReader()
connection.Close()

注意DBF文件的目录名在连接字符串中,而DBF文件的完整路径在select语句中。我只是遵循链接帖子中的约定,它对我有用。

于 2010-08-30T21:12:20.193 回答