@BakInRR

Как работать с ODBC в Ubuntu 15.04?

Пытаюсь открыть базу данных
Выбираю файл *.mdb
На Ubuntu 15.04 вылетает ошибка

[unixODBC][Driver Manager]Data source name not found, and no default driver specified QODBC3: Unable to connect


Хотя:
DRIVERS : ("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3")


Код:
bool DataModel::connectDB(const QString &dBName)
{
    db = QSqlDatabase::addDatabase("QODBC");
    qDebug() << "DRIVERS :" << QSqlDatabase::drivers();
    QString fullDBName = "DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=" + dBName;
    db.setDatabaseName(fullDBName);
    if (!db.open()) {
        logMessage( QString::fromLocal8Bit("Ошибка подключения к базе данных: ")
                   + db.lastError().text());
        return false;
    }
    return true;
}


В Windows всё хорошо работает, а на Ubuntu не хочет.
Как настроить ODBC для этого, и в этом ли проблема?
  • Вопрос задан
  • 725 просмотров
Решения вопроса 1
Adamos
@Adamos
Поставьте mdbtools, сконвертируйте данные в нормальный формат (SQL) и прекратите это извращение.
Хотите, чтобы было кроссплатформенно - забудьте про MDB и освойте SQLite.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Olej
@Olej
инженер, программист, преподаватель

В Windows всё хорошо работает, а на Ubuntu не хочет.
Как настроить ODBC для этого, и в этом ли проблема?

ODBC - это Windows-порождение ... ещё один костыль - с чего бы ему не работать?
В Linux по умолчанию нет поддержки ODBC, для него это чуждо.
Нужно установить ODBC ... а дальше всё так же: "E2 - E4 ...".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы