Volrath
Гость
|
|
« : Сентябрь 11, 2007, 00:55 » |
|
Всем здарсте, короче возникла проблема с ораклом, перечитал тут все топики, но не наёшёл то, что у меня происходит.
Короче стоит оракл 9i и Qt 3.3.3
Драйвер я скомпилилил нормально, все либы в /sqldrivers/oci появились
Дальше пишу стандартные строчки, которые в доках по Кюти есть: QSqlDatabase *db = QSqlDatabase::addDatabase("QOCI8"); db->setHostName("192.168.3.3"); db->setDatabaseName("mydb1"); db->setUserName("root"); db->setPassword("mypassword");
Это всё проскакивает нормально и без ошибок, но дальше начинается приколы:
if (!db->open()) // в этой строчке. когда просто запускаешь проект, всё нормально (используется VC++ 6.0), но если поставить на это место брейкпоинт, то дебаггер шлёт по адресу в памяти, что-то типа 0х709... ну и т.д. { QMessageBox::critical(parent, QObject::tr("Database Error"); db->lastError().text()); return false; }
QSqlQuery query; query.exec("SELECT id, name, salary FROM empl WHERE salary>=1000"); // соответсвенно SQL-запрос не выполняется.
Судя по всему экжемпляр класса QSqlDatabase создаётся нормально, в него даже параметры правильно записываеются, т.к. если ввести неправильный пассворд, то if прокатывает и выдаётся сообщение об ошибке. А при правильном вводе база почему-то не открывается. причём компилятор это хватает, только если пройтись дебагером...
Короче не могу понять, может кто разъяснит.
|