crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> mdb+qt в linux, ODBC настроен, но база в Qt не открывается
mokynis
  опции профиля:
сообщение 18.1.2013, 18:24
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 18.1.2013
Пользователь №: 3679

Спасибо сказали: 0 раз(а)




Репутация:   0  


помогите разобраться, почему не могу подключиться к .mdb-файлу из Qt-программы. С помощью ODBCConfig настроил DSN, Команда isql MSAccess (это у меня так UserDSN называется) показывает, что соединение есть, запросы оттуда работают. /etc/odbcinst.ini выглядит так:
[Microsoft Access Driver (*.mdb)]
Description        = MS Access Driver
Driver        = /usr/lib/libmdbodbc.so.0
Driver64        =
Setup        = /usr/lib/libmdbodbc.so.0
Setup64        =
UsageCount        = 1
CPTimeout        =
CPReuse        =

[ODBC]
Trace        = Yes
TraceFile        = /tmp/sql.log
ForceTrace        = No
Pooling        = No
, .odbc.ini в домашней директории такой:
[MSAccess]
Description        = Microsoft Access Driver (*.mdb)
Driver        = Microsoft Access Driver (*.mdb)
Database        = /home/coder/Desktop/art.mdb
. В программе пытаюсь подключиться так:
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3");
//    QString str_conn="DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DSN='';DBQ="+ui->EFile->text();
//    QString str_conn="DRIVER={Microsoft Access Driver (*.mdb)};FIL={MSAccess};DSN='';DBQ="+ui->EFile->text();
//    db.setHostName("localhost");
    db.setDatabaseName("MSAccess");
//    db.setDatabaseName(str_conn);
    bool connected = db.open();
    if (!connected)
        QMessageBox::critical(0,"Database Error",db.lastError().text(),QMessageBox::Ok);
(закомментированы все перепробованные варианты). Либо пишет
Цитата
[unixODBC][Driver Manager]Data source name not found, and no default driver specified QODBC3: Unable to connect
, либо вообще ничего не пишет, а просто вылетает с SEGMENTATION FAULT. Причем в Windows все это безо всяких настроек DSN работает, просто с указанием строки. Может действительно не тот драйвер ODBC в /usr/lib/qt4/plugins/sqldrivers лежит? Его там изначально не было, я доустанавливал libqt4-sql-odbc из официального репозитория. ОС-Debian 6, Qt Creator 1.3.1 на Qt 4.6.3. SDK скачан с сайта Nokia. Help!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 24.1.2013, 0:24
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


А он вроде ни у кого и не работает. По крайней мере удачных попыток я не видел. Да и мне завести не удалось.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.4.2024, 15:47