1. 程式人生 > >QT通過ODBC驅動連線Oracle資料庫

QT通過ODBC驅動連線Oracle資料庫

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");