我想在Linux中用QT打開MS Access數據庫文件。在Linux中打開MS Access文件
因此,我安裝了帶有unixODBC的Easysoft MS Access ODBC驅動程序。還有就是我的odbc.ini文件:
[Easysoft ODBC-ACCESS]
Description = MS Acess db driver
Driver = /usr/local/easysoft/access/lib/libesmdb.so
Setup = /usr/local/easysoft/access/lib/libesmdbS.so
並有ODBCINST.INI文件:
[ACCESS_SAMPLE]
Driver = Easysoft ODBC-ACCESS
mdbfile = /home/user/personal_base.mdb
而且,我已經安裝了Qt的ODBC插件:
sudo apt-get install libqt4-sql-odbc
現在怎麼能我用Qt打開mdb-file Linux?
在MS Windows中我做這樣的方式:
bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DSN='';DBQ=C:/personal_base.mdb");
if (!db.open()) {
QMessageBox::warning(0, QObject::tr("Database Error"), db.lastError().text());
return false;
}
return true;
}
我嘗試db.setDataBaseName改變
...
db.setDatabaseName("Driver={Easysoft ODBC-ACCESS};DSN='ACCESS_SAMPLE'");
...
但它返回一個錯誤:
[unixODBC][Driver Manager]Data source name not found, and no default driver specified QODBC3: Unale to connect
有什麼物?
看來Microsoft Access可能不是跨平臺數據庫的最佳解決方案。如果你想用你的應用程序分發你的數據庫,你應該看看SQLite。否則,請使用MySQL或Oracle等服務器。 – 2013-03-22 18:02:32
你是對的。但是,很抱歉地說,我不能在我的問題中使用任何其他解決方案。 – 2013-03-22 18:54:38