20 / 20 / 2
Регистрация: 27.01.2014
Сообщений: 232
1

QODBC (MS SQL SERVER) . Driver not loaded Driver not loaded

05.06.2016, 19:29. Показов 4381. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собрал себе драйвер QODBC. mingw x86. QSqlDatabase::drivers() возвращает (QSQLITE, QMYSQL, QMYSQL3, QODBC, QODBC3, QPSQL, QPSQL7) . Подключаюсь так:
C++ (Qt)
1
2
3
4
5
6
7
8
9
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
QString connectionStr = "Driver={SQL Server};Server=MEGAUSER_PC\\MS_SQL_32;Trusted_Connection=No;Database="+psett->value("DBName").toString()+";";
db.setUserName(psett->value("DBLogin").toString());
db.setPassword(psett->value("DBPassword").toString());
if (!_db.open())
    {
        qDebug().noquote() << _db.lastError().text() << endl;
        std::cin.get();
    }
Получаю в ответ "Driver not loaded Driver not loaded".
Что не так? Пробовал ставить 64 и 32 бит версию ms sql server 2014. На случай, если какие-то дллки добавятся нужные. Но ноль результата.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2016, 19:29
Ответы с готовыми решениями:

На машине клиента "QSQLITE" выдает: Driver not loaded Driver not loaded
#include &lt;QSqlDatabase&gt; #include &lt;QSqlQuery&gt; #include &lt;QSqlRecord&gt; #include &lt;QSqlError&gt;...

Ошибка - Driver not loaded Driver not loaded
Собрал драйвер MySQL. Пытаюсь запустить простое приложение - подключиться к базе и выполнить sql -...

Driver not loaded
не могу открыть базу данных, ошибка driver not loaded qt mingw 5.5 все драйвера есть QT += sql...

QPSQL driver not loaded
Здравствуйте, возникла проблема с подключением к Postgresql, подобная же проблема возникла с...

5
Pied Piper
236 / 227 / 57
Регистрация: 15.01.2013
Сообщений: 855
05.06.2016, 23:17 2
Насколько я в курсе, надо еще mssql-вские длл файлы подложить. Могу ошибаться, но у меня приложение с бд не подружилось пока не положил QtSql.dll, sqldrivers, и libmysql.dll (я мускул юзал).
0
20 / 20 / 2
Регистрация: 27.01.2014
Сообщений: 232
05.06.2016, 23:19  [ТС] 3
Ну с mysql я разобрался, действительно последняя dll нужна. Но я даже не знаю, что нужно с ms sql.
0
137 / 107 / 23
Регистрация: 06.10.2008
Сообщений: 451
06.06.2016, 07:29 4
Данная ошибка может появляться по многим причинам (у меня создалось впечатление, что у MS SQL все ошибки подключения сводятся к этой)
Нужно проверить следующее:
1. Какие данные вбиваются при подключении к MS SQL через Microsoft Managment Studio (важно что стоит при подключении после хоста, там точно "MS_SQL_32"), попробовать подключиться к хосту через ip адрес (ip\\[Имя экземпляра])?
2. Пингуется ли хост с сервером MS SQL?
3. Включен ли в диспетчере конфигурации MS SQL протокол TCP\IP?
4. Разрешена ли авторизация в MS SQL по средствам MS SQL?
5. Есть ли в папке с исполняемым файлом файлы \sqldrivers\qsqlodbcX.dll и plugins\sqldrivers\qsqlodbcX.dll
6. Попытаться проверить какие библиотеки для работы с SQL подключены (что то вроде )
Кликните здесь для просмотра всего текста

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 QStringList list = QSqlDatabase::drivers();
 
    if (list.size() < 1)
    {
        QMessageBox::critical(0, "Ошибка", "Нет загруженных драйверов!");
        qApp->quit();
    }
    else
    {
        _dbg << "Aviable drivers: " << std::endl;
 
        for (int ii = 0; ii < list.size(); ++ii)
        {
            _dbg << "[" << ii << "]: " << list.at(ii).toStdString() << std::endl;
        }
    }
0
Заблокирован
06.06.2016, 08:22 5
Цитата Сообщение от edwvee Посмотреть сообщение
Получаю в ответ "Driver not loaded Driver not loaded".
Я сейчас не вспомню и кода под рукой этого нет, но вроде для MS SQL нужно было либо мутить хитрый коннекшен стринг, либо, что проще, мутить АЛИАСЫ к этой базе в самой винде, уж не помню уже как, там где - то в администрирование что ли .... И после этого в конекшене указывать имя алиаса
Да, и ещё, вот когда тебе Qt пишет, что драйвер не загружен, он обычно после этого так же вываливает список драйверов, которые ему доступны, то есть загружены, приведи этот список сюда
0
137 / 107 / 23
Регистрация: 06.10.2008
Сообщений: 451
06.06.2016, 08:53 6
Такая строка подключения - работает
C++ (Qt)
1
2
3
4
5
6
7
8
9
_connectionString = "DRIVER={" + _db_conn.driver + "}; " // _db_conn.driver = SQL Server
                    + "SERVER=" + _db_conn.server + "; "   // _db_conn.server = 127.0.0.1\\SQLEXPRESS - "SQLEXPRESS" имя экземпляра БД
                    + "DATABASE=" + _db_conn.databaseName + "; " // Имя БД
                    + "PORT=" + _db_conn.port + "; "; //1433
 
            _db = QSqlDatabase::addDatabase("QODBC", _connectionString);
            _db.setDatabaseName(_connectionString);
            _db.setUserName(_db_conn.user);
            _db.setPassword(_db_conn.passw);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2016, 08:53
Помогаю со студенческими работами здесь

QMYSQL driver not loaded
Решил использовать Qt Использую QSqlDatabase: QMYSQL driver not loaded QSqlDatabase:...

Qt Mysql driver not loaded
Здравствуйте. Столкнулся с проблемой, которую весь день не выходит решить. При попытке подключения...

QMYSQL Driver not loaded
Версия Qt 2.4.1 Основан на Qt 4.7.4. (32-битной) Server version: 5.6.24 MySQL Community Server...

QIBASE driver not loaded
Здравствуйте товарищи! Проблема такая, программа использует драйвер QIBASE. Я его собрал как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru