C# 读取c上的.DBF文件时出错#
dbf文件并上传到sql表这里是我的代码C# 读取c上的.DBF文件时出错#,c#,sql,dbf,C#,Sql,Dbf,dbf文件并上传到sql表这里是我的代码 public void prueba() { String strConnection = "Data Source=192.168.87.15;" + "Initial Catalog=indarneg;" + "User id=sa;" + "Password=;"; //file
public void prueba()
{
String strConnection = "Data Source=192.168.87.15;"
+ "Initial Catalog=indarneg;"
+ "User id=sa;"
+ "Password=;";
//file upload path
string path = "C:\\Maquina_virtual\\promociones\\18\\";
string dbfConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ path + ";Extended Properties=dBASE IV;User ID=Admin;Password=;";
OleDbConnection dbfConnection = new OleDbConnection(dbfConnectionString);
//Create OleDbCommand to fetch data from dbf
OleDbCommand cmd = new OleDbCommand("Select * from [ART]", dbfConnection);
dbfConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
//Give your Destination table name
sqlBulk.DestinationTableName = "artdbf";
sqlBulk.WriteToServer(dReader);
dbfConnection.Close();
MessageBox.Show("DONE");
}
但是我收到错误“外部数据库驱动程序的意外错误(8961)”该.dbf文件是279兆字节[link]我已经按照说明操作了,运气不好:(你能解释一下数据库文件是什么类型的吗?(access,sql,my sql)等等。或者转到本页,也许您可以找到数据库的连接字符串。您是否考虑过下载Microsoft的Visual FoxPro驱动程序,该驱动程序可以读取DBF文件,而不是jet引擎。通过指向表所在的路径,连接过程是相同的(除了将Provider更改为VFPOleDB.1),并且仍然使用OleDB。