C# 讀取 DBF
使用(If you use) System.Data.OleDb、Microsoft.Jet.OLEDB.4.0;
會出現錯誤(Exception),reader.Read() 無法作用。
改用 ODBC,要先安裝驅動程式(Dropbox 下載),
網上有其他資料說要裝 AccessDatabaseEngine,
不用裝,因為無效!
VFPOLEDBSetup 也是無效(not working)!
連線字串是重點,因為指定了驅動程式,
先安裝上面提供的 VFPODBC,
網上有其他資料ODBC 連線字串 Driver={Microsoft dBase Driver (*.dbf)}; 不一定有效(not always work),
因為你的電腦裝的驅動不一定和作者電腦一樣。
程式範例如下(an example):
using System.Data.Odbc;
string path = @"D:\";
string tableName = "EMPLOYEES.DBF";
using (OdbcConnection connection = new OdbcConnection("Driver={Microsoft Visual FoxPro Driver}; SourceType=DBF; SourceDB=" + path + tableName + "; Exclusive=No; NULL=NO; DELETED=NO;Collate=Machine; BACKGROUNDFETCH=NO;"))
using (OdbcCommand command = new OdbcCommand(string.Format("SELECT * FROM {0}{1} WHERE No= '{2}' ;", path, tableName, number), connection))
之後使用可以讀取了!
OdbcDataReader reader = command.ExecuteReader();
沒有留言:
張貼留言