C# Net连接并读取到.DBF文件类型Visual dBase level 7格式,使用C

C# Net连接并读取到.DBF文件类型Visual dBase level 7格式,使用C,c#,dbf,dbase,C#,Dbf,Dbase,我无法使用C连接到DBF文件类型Visual dBase level 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\"; Odb

我无法使用C连接到DBF文件类型Visual dBase level 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-OdbcCommandSelect*来自MyDBF_文件,CC

同样的问题:-


Thx提前为您的帮助或为所有方式贡献一部分解决方案-

您的连接似乎是正确的。这应该是表所在的路径。但是,您应该进行查询

select * from SomeTableWithinThatPath

您试图查询的是路径,而不是特定的表。

对于Visual dBase level 7格式,此连接将不起作用。 您可以使用dBase IV reader的代码库和修改头来处理dBase 7文件

您可以从这里找到Dbase 7标题信息

和DBF reader,用于从这里开始的旧版本


使用相同的代码,我可以连接并读取其他类型的DBF文件,如dBase III和dBase IV。