Не удается подключиться к бд

213
19 февраля 2022, 14:10

Пишу в Linux. Необходимо подключиться к Access бд,но Qtговорит что нет такого драйвера QODBC, хотя в предложенных он имеется

 QString _dbPath=QDir::currentPath()+"/DB.mdb";
    if(!QFile::exists(_dbPath))//Проверяем наличие файла бд
    {
       qDebug()<<"Не удалось найти файл базы данных";
        return;
    }
    if(!QSqlDatabase::contains("DB"))//Если обьект QSqlDatabase уже создан,то не перезаписываем его
    {
        QSqlDatabase ADOCon = QSqlDatabase::addDatabase("QODBC","DB");
        ADOCon.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+_dbPath);
        ADOCon.setPassword("pass");
        try {
            ADOCon.open();
        } catch (...) {
            qDebug()<<"Не удалось подключиться к базе данных";
            return;
        }
    }

Вот сообщение об ошибки:

QSqlDatabase: QODBC driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC QPSQL QPSQL7

В windows Точно такой же код работает нормально.Что я делаю не так?

READ ALSO
Найти кратчайший путь [закрыт]

Найти кратчайший путь [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

81
Вывести содержимое массива улиткой в данном порядке (может быть четным и нечетным)

Вывести содержимое массива улиткой в данном порядке (может быть четным и нечетным)

Массив может быть четным и нечетным, но всегда квадратным, вывести необходимо в данном порядке, как изображено на изображении))

85
Как считать одномерный массив из файла?

Как считать одномерный массив из файла?

Программа должна считывать массив из файла и отсортировать значения по возрастаниюКакие функции/классы можно использовать для считывания...

249
Может ли объект пересечь границу адресного пространства?

Может ли объект пересечь границу адресного пространства?

В C и C++ память адресуется побайтовоЕсли верить Стандарту, начало многобайтового объекта - это адрес его самого младшего байта

80