我无法使用C#连接到DBF文件类型 Visual dBase 7级格式。
我可以读取DBF文件类型dBase III和dBase IV,但文件类型为DBF Visual dBase 7 Visual studio会返回错误信息:
"格式表格格式不正确"。
以下是我用于控制台应用程序的以下代码:
static void Main(string[] args)
{
string filepath = @"C:\Users\user\Desktop\BGF\DATA\";
OdbcConnection CC =
new OdbcConnection("Driver={Microsoft dBase Driver
(*.dbf)};SourceType=DBF;SourceDB=" + filepath + ";Exclusive=No;
Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;");
CC.Open();
OdbcCommand cmd = new OdbcCommand("Select * From MyDBF_file", CC);
OdbcDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
DataTable dt = new DataTable();
dt.Load(dr);
}
CC.Close();
`enter code here`Console.WriteLine("Successful");
Console.Read();
}
我认为提供商不兼容,但我尝试过使用Microsoft.Jet.OLEDB.4.0不起作用。 与vfpoledb提供商同样存在问题。
我尝试过简单查询 OdbcCommand cmd = new OdbcCommand(" Select * From MyDBF_file",CC);
同样的问题: - (
提前为您提供帮助或所有方法都有助于解决方案的一部分; - )
答案 0 :(得分:0)
您在CONNECTION上看起来是正确的。这应该是表所在的PATH。但是,你应该
select * from SomeTableWithinThatPath
您正在尝试查询PATH,而不是特定的表格。
答案 1 :(得分:0)
对于Visual dBase 7级格式,此连接不起作用。 您可以使用dBase IV阅读器的代码库并修改标头以使用Dbase 7文件。
您可以从此处找到Dbase 7标头信息。
http://www.dbase.com/KnowledgeBase/int/db7_file_fmt.htm
从这里开始使用旧版本的DBF阅读器。