I had compiled oracle driver and opened successfully with Qt a few days ago, but today, I got into trouble using the same code! Here is the code:
bool isAvailable = QSqlDatabase::isDriverAvailable("QOCI");
if(isAvailable)
qDebug() << "QOCI driver is available!";
else {
qDebug() << "QOCI driver is not available!";
}
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
db.setPort(1521);
db.setHostName("127.0.0.1");
db.setDatabaseName("orcl");
db.setUserName("c##scott");
db.setPassword("tiger");
bool ok = db.open();
if(ok) {
qDebug() << "connect sucess!";
}
and message:
QOCI driver is available!
QSqlDatabase: QOCI driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QOCI QOCI8 QODBC
QODBC3 QPSQL QPSQL7
The version of Qt is 5.9.0, and oracle is 12c. I am so upset for this problem, who can help me?