QT通過ODBC驅動連線Oracle資料庫
阿新 • • 發佈:2018-11-19
1)我是用的是qt4.8.6,裡面是自帶odbc驅動的,如果沒有的話也可以進行編譯,具體方法是:
第一步,開啟qt下的黑窗體;
第二步,一次輸入:
1、 cd C:\Qt\4.8.6\src\plugins\sqldrivers\odbc
2、qmake -o Makefile odbc.pro
3、nmake release或是nmake
這樣,C:\Qt\4.8.6\src\plugins\sqldrivers\odbc目錄下就會生成編譯的dll和lib檔案,拷貝到C:\Qt\4.8.6\plugins\sqldrivers下即可。具體的目錄需要根據你安裝QT為準。
2)新增ODBC資料來源,因為我的是win7 64位下安裝的32位資料庫,所以我們不通過控制面板進行新增,我們找到C:\Windows\SysWOW64目錄下的odbcad32.exe程式,雙擊進行新增,點選系統DSN,新增:
接下來就是在程式中的連線操作:
void qttest::createDatabase() { //新增oracle資料庫驅動 db = QSqlDatabase::addDatabase("QODBC"); //伺服器ip和埠號 db.setPort(1521); db.setHostName("localhost"); //***資料來源配置時填寫的那個DataSourceName db.setDatabaseName("Oracle"); //使用者名稱和密碼 db.setUserName("tfds"); db.setPassword("jtv***jtw"); }
bool qttest::connectDatabase()
{
if(db.isOpen())
return true;
if (!db.open())
{
qDebug() << "Error: Failed to connect database." << db.lastError();
return false;
}
return true;
}
連線成功!最重要的是:
//***資料來源配置時填寫的那個DataSourceName
db.setDatabaseName("Oracle");