![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
MishaUA |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте!
Есть база данных и в таблице один из столбцов имеет тип JSON. По не понятным причинам, моя программа, собранная и запущенная на Debian 9 вылетает, если делаю запрос, в котором есть это поле. К примеру:
Location имеет тип JSON; Абсолютно та же ошибка, если выбираю всё(SELECT *). Ошибка вот такая:
При этом там же прога, собранная и запущенная на винде работает отлично. И если я делаю UPDATE этого поля, то даже на дебиане работает. Ну и так же нормально работает если я изменяю тип с JSON на TEXT. Помогите, плиз)) Сообщение отредактировал MishaUA - 20.6.2018, 21:55 |
|
|
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
MishaUA, "WHERE" - убери
|
|
|
MishaUA |
![]()
Сообщение
#3
|
Участник ![]() ![]() Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
упс, осталось от целой части кода. Реально там "SELECT Location, looking FROM Users", с которым, соответственно, вылетает.
|
|
|
Алексей1153 |
![]()
Сообщение
#4
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
MishaUA, при создании объекта
QSqlQuery query укажи в конструкторе ссылку на БД, иначе будет использоваться подключение по умолчанию. А какое оно там у тебя - может, в этом проблема ---------- А также попробуй, как это всё будет работать, если тип сменить на строковый Сообщение отредактировал Алексей1153 - 21.6.2018, 7:49 |
|
|
MishaUA |
![]()
Сообщение
#5
|
Участник ![]() ![]() Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
Так подключение по умолчанию и используется. В проге ещё куча запросов, помимо этого))
Оказалось, что не смотря на то, что на винде не вылетает, если в запросе есть поле JSON, то возвращается пустой результат (0 строк), но при этом query.exec()==true. На винде Qt последний. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
А что за СУБД? и какой драйвер Qt используется?
|
|
|
MishaUA |
![]()
Сообщение
#7
|
Участник ![]() ![]() Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
MySQL (хостинг ukraine.com.ua). Но но хостинг и базу грешить нельзя, ибо с phpMyAdmin запросы, в которых есть json, работают отлично.
Драйвер (libmysql.dll) взят с офф сайта. Сообщение отредактировал MishaUA - 21.6.2018, 11:15 |
|
|
MishaUA |
![]()
Сообщение
#8
|
Участник ![]() ![]() Группа: Участник Сообщений: 185 Регистрация: 28.4.2013 Пользователь №: 3810 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
В общем, погонял я на убунте, установив бд прямо на неё (использовал локально) и собрав в последнем qt. Глюк остался. Получается, баги самого Qt.
|
|
|
Iron Bug |
![]()
Сообщение
#9
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
я не спец в Qt, но посмотри выхлоп со strace или gdb. скорее всего, не стоит какая-нибудь библиотека, нужная для работы с json.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 18:24 |