Некоторое время назад я сделал что-то подобное, открыв несколько соединений с базой данных, используя QSqlDatabase .
Таким образом, на основании официальной документации вы можете попробовать что-то вроде этого:
//Open database 1:
QSqlDatabase db1 = QSqlDatabase::addDatabase("QOCI","db1");
db.setHostName("acidalia");
db.setDatabaseName("tns1");
db.setUserName("mojito");
db.setPassword("J0a1m8");
bool ok = db.open();
..
//Open database 2:
QSqlDatabase db2 = QSqlDatabase::addDatabase("QOCI","db1");
..
db.setDatabaseName("tns2");
..
Теперь базы данных открыты, и вы можете использовать их в запросе.Обратите внимание на область действия переменных db согласно doc:
{
QSqlDatabase db = QSqlDatabase::database("db1");
QSqlQuery query("SELECT NAME, DOB FROM EMPLOYEES", db);
}
{
QSqlDatabase db = QSqlDatabase::database("db2");
QSqlQuery query("SELECT NAME, DOB FROM EMPLOYEES", db);
}
//Clean up
QSqlDatabase::removeDatabase("db1");
QSqlDatabase::removeDatabase("db2");
См. removeDatabase по очистке