我正在尝试使用 Microsoft.ACE.OLEDB.12.0 提供程序连接到 64 位操作系统中的 dbf 文件。
我写
[Test]
public void CustomDbfReader()
{
string filepath = @"K:\data";
var dataTable = new DataTable();
string connectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=dBASE IV;Data Source='" + filepath +"'" ;
using (var oledbConnection = new OleDbConnection(connectionString))
{
oledbConnection.Open();
string stringCommadn = string.Format(@"select * from filename.dbf");
var oleDbCommand = new OleDbCommand(stringCommadn, oledbConnection);
var oleDbDataAdapter = new OleDbDataAdapter
{
SelectCommand = oleDbCommand
};
oleDbDataAdapter.Fill(dataTable);
}
Assert.IsNotEmpty(dataTable.Rows);
}
我得到了这个例外
System.Data.OleDb.OleDbException:Microsoft Access 数据库引擎找不到对象“CardifOrigin.dbf”。确保对象存在并且正确拼写其名称和路径名。如果“CardifOrigin.dbf”不是本地对象,请检查您的网络连接或联系服务器管理员。
我确信路径和文件名都存在。
有什么问题?