Russian Qt Forum
Сентябрь 30, 2024, 06:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt 3.3.3 и Oracle  (Прочитано 2565 раз)
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 прокатывает и выдаётся сообщение об ошибке. А при правильном вводе база почему-то не открывается. причём компилятор это хватает, только если пройтись дебагером...

Короче не могу понять, может кто разъяснит.







« Последнее редактирование: Сентябрь 11, 2007, 01:09 от Volrath » Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Сентябрь 11, 2007, 06:15 »

я бы начал с простых вещей
типа

1) Стоит оракл. Выставленны ли переменные ORACLE_HOME и ORACLE_SID.
2) Обычно к ораклу конектятся через строку TNS.  А не через IP напрямую.
3) скачать otl.sf.net либу и попробовать ей

сам я оракл не использовал в qt - но кажется тут проблема именно с ораклом.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 3.041 секунд. Запросов: 23.