mdb+qt в linux

Модератор: Модераторы разделов

mokynis
Сообщения: 48
ОС: KUbuntu 7.10

mdb+qt в linux

Сообщение mokynis »

помогите разобраться, почему не могу подключиться к .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!
Спасибо сказали: