6 / 5 / 1
Регистрация: 20.12.2020
Сообщений: 92
|
|||||||||||
1 | |||||||||||
Ошибка с установленным плагином sqlite17.10.2021, 16:31. Показов 2281. Ответов 7
Здравствуйте, в проекте нужно работать с двумя базами (SQLITE) одновременно, но когда добавляю имена соединений для моих БД, то дебагер начинает ругаться на то, что драйвера не загружены:
Код
QSqlQuery::exec: database not open Unable to create a user table QSqlError("", "Driver not loaded", "Driver not loaded") QSqlQuery::exec: database not open Unable to create a product table QSqlError("", "Driver not loaded", "Driver not loaded") Код
QList("QSQLITE", "QODBC", "QPSQL") QList("PRODUCTS", "USERS") Код
QT += core gui QT += sql greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 # You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \ add_prod.cpp \ authentification.cpp \ main.cpp \ mainwindow.cpp \ reg_room.cpp \ winadmin.cpp \ winseller.cpp \ winstorekpr.cpp HEADERS += \ add_prod.h \ authentification.h \ mainwindow.h \ reg_room.h \ winadmin.h \ winseller.h \ winstorekpr.h FORMS += \ add_prod.ui \ authentification.ui \ mainwindow.ui \ reg_room.ui \ winadmin.ui \ winseller.ui \ winstorekpr.ui RC_FILE = file.rc # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target
Также смущает эта строчка: Код
section .gnu_debuglink not found in C:\Qt\6.1.3\mingw81_64\plugins\sqldrivers\qsqlite.debug qsqlite.debug qsqlite.dll qsqlodbc.debug qsqlodbc.dll qsqlpsql.debug qsqlpsql.dll
0
|
17.10.2021, 16:31 | |
Ответы с готовыми решениями:
7
Ошибка с плагином JS composer Ошибка с плагином Chronosly Ошибка с плагином Envira Gallery Ошибка с плагином Yoast SEO sqlite ошибка |
1081 / 685 / 184
Регистрация: 30.03.2021
Сообщений: 2,138
|
|||||||||||
17.10.2021, 19:03 | 2 | ||||||||||
Bacchus, если у Вас с одной бд все работало а с двумя ошибки-тогда я хз. Однако я сталкивался с ошибкой "driver not loaded" для драйвера QPSQL, у меня PostgreSQL 13. Проблему решил так:
1. Находим папку debug (или release если делаем финалку под деплой) в папке с проектом. 2. Именно в папку debug (или release) копируем папку plugins из Qt, у меня она D:\QT\5.12.11\mingw73_64\plugins (переносим именно plugins а не отдельные файлы) 3. Туда же копируем .dll из папки bin Вашей бд, у меня C:\Program Files\PostgreSQL\13\bin (там надо было штук 5 файлов, но у меня названия не совпадали с гайдом, сбросил все и методом тыка оставил нужные) Добавлено через 19 минут зы может по порту конфликт? попробуйте разные порты настроить для дб и в приложении, хотя это я так, пальцем в небо... хотя о чем это я -драйвер же не грузится... но все равно еще у меня был затык с назначением таблицы заработало так:
Это я на всякий случай, если все работало с одной дб, то данный пост к делу не относится...
1
|
1552 / 727 / 316
Регистрация: 02.05.2020
Сообщений: 1,618
|
|
18.10.2021, 10:02 | 3 |
А это весь вывод? Вроде как до этого должны быть как минимум 2 строки с содержанием
Cannot open database: Добавлено через 4 минуты задайте переменную окружения Код
set QT_DEBUG_PLUGINS=1 Cannot open database:
0
|
6 / 5 / 1
Регистрация: 20.12.2020
Сообщений: 92
|
|
18.10.2021, 11:40 [ТС] | 4 |
Поэксперементировал, проблема даже не в том, что я добавляю вторую БД, а то что даю имя подключению (второй аргумент в addDatabase). Без имени подключения понятное дело с двумя бд поработать не получится
Добавлено через 1 минуту Удалил вторую таблицу, в первой оставил название USERS — та же ошибка. Убрал название — всё норм работает.
0
|
1552 / 727 / 316
Регистрация: 02.05.2020
Сообщений: 1,618
|
||||||
18.10.2021, 12:53 | 5 | |||||
При создании
QSqlQuery query указывайте, с какой имено базой он должен работать. Т.е. достаточно:
0
|
6 / 5 / 1
Регистрация: 20.12.2020
Сообщений: 92
|
|||||||||||
18.10.2021, 14:48 [ТС] | 6 | ||||||||||
Спасибо, попробую указать
Добавлено через 1 час 25 минут Указал
Код
QSqlQuery::exec: database not open Unable to execute query - exiting QSqlError("", "Driver not loaded", "Driver not loaded") : "" QSqlQuery::value: not positioned on a valid record QSqlQuery::value: not positioned on a valid record QSqlQuery::value: not positioned on a valid record QSqlQuery::value: not positioned on a valid record Password dismatch "" ""
0
|
1552 / 727 / 316
Регистрация: 02.05.2020
Сообщений: 1,618
|
|
18.10.2021, 16:31 | 7 |
Сообщение было отмечено Bacchus как решение
Решение
приведите код, откуда это прилелает
Добавлено через 3 минуты Полагаю вы дергаете QSqlQuery который точно не из этих двух: Добавлено через 4 минуты проидите поиском по всему коду, убедитесь, что создаёте все экземляры класса QSqlQuery с параметром QSqlDatabase
1
|
6 / 5 / 1
Регистрация: 20.12.2020
Сообщений: 92
|
|
20.10.2021, 23:49 [ТС] | 8 |
Спасибо, прошерстил код. В функции входа не указал для Query connection. Теперь ошибок нет)
0
|
20.10.2021, 23:49 | |
20.10.2021, 23:49 | |
Помогаю со студенческими работами здесь
8
Ошибка SQLITE ошибка с базой SQLite sqlite 3 / непонятная ошибка Ошибка с SQLite базой Странная ошибка SQLITE Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |