Всем доброго времени суток.
Решил опробовать включения JSON в MYSQL 5.7 под lazarus.
Соединение с базой идет через ZEOS.
При обращении к полю имеющий тип json получаю исключение Unknown MySQL data type!
zeos не знает данный тип?
JSON mysql 5.7+ zeos (закрыто)
Модератор: Модераторы
JSON mysql 5.7+ zeos (закрыто)
Последний раз редактировалось Xenar 02.07.2017 10:37:38, всего редактировалось 1 раз.
Zeos компоненты давно не обновлялись, нет наверно.
скорее json есть тип string, или его можно свести в этот тип. потом парсить как json. либо json сводить в таблицу.
просто движок дает индикатор а Zeos распознать не может.
просто движок дает индикатор а Zeos распознать не может.
Ну да, как строку его можно легко обрабатывать встроенными модулями для работы с json
Провел небольшой эксперимент. Собрал лазаря из транка, в нем в отличие от 1,6 версии появилась поддержка mysql 5.7. В этой ситуации таблица с json худо бедно проходит в обработке, но само поле с json результатом не выводит.
А с zeosом все так же печально.
to Java73: Это я знаю, собственно говоря до сего момента так и делал, но захотелось "страного"
сократить код за счет поддержки json самого mysql, ... похоже пока облом.с выходит
А с zeosом все так же печально.
to Java73: Это я знаю, собственно говоря до сего момента так и делал, но захотелось "страного"
Xenar писал(а):В этой ситуации таблица с json худо бедно проходит в обработке, но само поле с json результатом не выводит.
Оно же упаковано.. может представлять как JsonObject так и JsonArray или вообще Pointer
В любом случае нужно распарсивать.. может в тип TVariant
вон оно как, я то думаю чего оно в как MEMO в гриде отображается...
хотя это как то нелогично, зачем оно вообще упаковывает если я делаю SELECT specs->"$.size.weight" FROM ....
никакой неоднозначности в выводе здесь нет.
ps и тогда если значение приходит "упакованным" каким образом выводить его сразу в гриде??? вопросы....
ps к ps Сколько раз самому себе было говорено.... читай документацию...... все же делается методом научного тыка.
CAST(specs->"$.size.weight" as UNSIGNED) и все выводится.
Причем и в zeos заработало, получается если результат запроса приходил как json тип то zeos его не распознает, но стоит его преобразовать... то милости просим.
PROFIT!!
хотя это как то нелогично, зачем оно вообще упаковывает если я делаю SELECT specs->"$.size.weight" FROM ....
никакой неоднозначности в выводе здесь нет.
ps и тогда если значение приходит "упакованным" каким образом выводить его сразу в гриде??? вопросы....
ps к ps Сколько раз самому себе было говорено.... читай документацию...... все же делается методом научного тыка.
CAST(specs->"$.size.weight" as UNSIGNED) и все выводится.
Причем и в zeos заработало, получается если результат запроса приходил как json тип то zeos его не распознает, но стоит его преобразовать... то милости просим.
PROFIT!!
Последний раз редактировалось Xenar 02.07.2017 10:38:05, всего редактировалось 1 раз.
JSON - это не совсем стандарт. Отсюда у каждого движка может быть свой подход.
Подождем лет 5 может JSON станет промышленным стандартом наравне с XML.
Подождем лет 5 может JSON станет промышленным стандартом наравне с XML.
