【发布时间】:2015-07-21 16:11:01
【问题描述】:
我正在尝试读取一些使用 NTX 文件在 VB.NET 中进行索引的 DBF 文件。目前,我不得不使用 OLEDB 直接从 DBF 文件中读取,由于 dbase 的平面文件数据存储方法,这非常慢。所以,我想知道是否有人可以告诉我如何通过 VB.NET 中的 NTX 索引文件访问 DBF 文件。
如果我需要下载第三方库,我可以,但如果第三方库要花钱,我没有钱支付。它需要是免费的。
这是我目前用来访问 DBF 文件的文件。
Private Shared ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Settings.DataPath & ";Extended Properties=dBase IV"
Public Shared dBaseConnection As New System.Data.OleDb.OleDbConnection(ConnectionString)
Dim dBaseCommand As New System.Data.OleDb.OleDbCommand("SELECT * FROM `PAGES.NTX` WHERE `PAGE_NUM` BETWEEN 241 AND 270", dBaseConnection)
Dim dBaseDataReader As System.Data.OleDb.OleDbDataReader = dBaseCommand.ExecuteReader(CommandBehavior.SequentialAccess)
然而,这仍然直接从 DBF 文件中读取并忽略 NTX 索引。有什么帮助吗?
注意:我不能“选择”为这个项目使用 SQL,因为数据库是由另一个应用程序创建和维护的(一个相当大的年龄)。我只需要访问它们以获取其中存储的数据。
【问题讨论】:
-
当然可以选择使用SQL Server。 SQL Server 有一个称为链接服务器的功能,它允许您在 SQL Server 实例中“托管”您的 DBF 文件。
-
@SamAxe 由于 PCI 合规性,我无法运行单独的服务器。我只需要处理我可以使用的文件和 VB.NET 的本地实例。
-
Advantage OLEDB provider for ADO.NET 声称与 DBF/NTX 文件通信。
-
您不能将记录导入到 sql 本地数据库文件中吗?
-
我不明白为什么这个问题被否决了...
标签: vb.net indexing oledb dbf dbase