任务是将dbf加载到sql中。我没有找到直接工作的方法,我认为可以将dbf重新编码成xml,然后使用它是没有问题的。问题出现在读取dbf阶段,基本上一切正常,但有文件(cod.866)编码出错。
我是这样读的。无法与 MS 提供商合作。写道“找不到可安装的 ISAM”,MS OF 2010 x32。有解决问题的方法吗?铲了很多论坛,想尽办法。
var connectionString = @"Provider=VFPOLEDB.1; Data Source=" + path + "; Extended Properties=dBASE IV; Collating Sequence=machine;";
// @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\\;
var con = new OleDbConnection(connectionString);
con.Open();
var adapter = new OleDbDataAdapter("SELECT * FROM " + Path.GetFileNameWithoutExtension(path), con);
con.Close();
var dataSet = new DataSet();
adapter.Fill(dataSet);
dataGrid.DataSource = dataSet.Tables[0];
有一次,需要导出一堆 dbf 文件。我找到了这样一个类(我什至不记得我从哪里得到源码)(问题末尾的代码)。
本质上使用:
在大多数情况下,cp866 和 cp1251 都可以正常读取。
编码:
помог OleDB @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:*cat*;Extended Properties=dBASE IV;User ID=Admin;"; хорошо и без проблем читает файлы формата 8.3