不需要安装任何驱动和程序包。
using System.Data.OleDb;
using System.Data.Odbc;
一、以Oledb方式查询DBF文件,DBF文件名不能超过8个,否则会报错(找不到对象)。
private static void ReadDbf(string filePath)
{
FileInfo fi = new FileInfo(filePath);
string connStr2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+fi.DirectoryName+ ";Extended Properties=dBASE IV;User ID=Admin;Password=;";
using (OleDbConnection conn = new OleDbConnection(connStr2))
{
conn.Open();
string sql = @"select * from "+fi.FullName;
OleDbDataAdapter ada = new OleDbDataAdapter(sql, conn);
DataTable table = new DataTable();
ada.Fill(table);
}
}
二、以Odbc方式查询DBF文件,DBF文件名不能超过8个,否则会报错(找不到对象)。
private static void ReadDbf(string filePath)
{
FileInfo fi = new FileInfo(filePath);
string connStr =
@"Driver={Microsoft dBASE Driver (*.dbf)};SourceType=DBF;" +
@"Data Source=" + fi.FullName + ";Exclusive=No;NULL=NO;" +
@"Collate=Machine;BACKGROUNDFETCH=NO;DELETE=NO";
using (OdbcConnection conn = new OdbcConnection(connStr))
{
conn.Open();
string sql = @"select * from " + fi.FullName;
OdbcDataAdapter da = new OdbcDataAdapter(sql, conn);
DataTable dt = new DataTable();
da.Fill(dt);
}
}