【发布时间】:2012-09-11 20:49:20
【问题描述】:
我需要在 C# 中打开一个 dbase III 文件。症结在于该文件的扩展名为 .dat 而不是 .dbf。我已经尝试过 OleDB 和 Odbc,并且都要求文件具有 .dbf 扩展名。
重命名文件不是一种选择。这些来自客户作为 GIS TAB 文件集的一部分。
有什么想法吗?
【问题讨论】:
我需要在 C# 中打开一个 dbase III 文件。症结在于该文件的扩展名为 .dat 而不是 .dbf。我已经尝试过 OleDB 和 Odbc,并且都要求文件具有 .dbf 扩展名。
重命名文件不是一种选择。这些来自客户作为 GIS TAB 文件集的一部分。
有什么想法吗?
【问题讨论】:
我知道 OleDB 连接可以指向数据所在的“路径”...但是,我认为您可以明确限定文件名以包含 .dat,例如
select * from YourTable.DAT where SomeCondition;
您的典型查询应该是
select * from YourTable where SomeCondition;
并且 OleDB 提供程序将暗示一个“.dbf”扩展名。但是,由于您明确符合 .DAT 的条件,它应该会为您找到它。此外,通过 OleDB,您实际上可以从公共根目录(仅供参考)查询子文件夹。
【讨论】:
如果文件位于可写 NTFS 卷上,您可以建立到该文件的硬链接:Fsutil: hardlink
【讨论】: