Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить? / 10 сообщений из 10, страница 1 из 1
16.09.2017, 17:06
    #39522215
Onax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
есть таблица (миграции ЕФ)
Код: sql
1.
2.
3.
CREATE TABLE "__MigrationHistory" (	 
	"Model" BLOB SUB_TYPE 0 NOT NULL,	 
) ;



идет инсерт данных длинная строка x'123123123траливали'
и валится ошибка некорректное окончание строки и т.п бредни, причем как из приложения, так и через IBExpert

единственная догадка почему раньше работало(~2 года), а теперь перестало - таблиц и столбцов становилась всё больше и больше
в итоге размер данных для этого столбца просто вышел за 32 кб (предыдущие уже были 31xxx кб) после добавления пары таблиц в схему

нужны какие-нибудь идеи в чем проблема и что можно сделать, учитывая что весь sql генерируется...
...
Рейтинг: 0 / 0
16.09.2017, 18:40
    #39522239
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
Onaxнужны какие-нибудь идеи в чем проблема и что можно сделать, учитывая что весь sql
генерируется...

Да, размер литерала ограничен. Нет, с генерируемым SQL ничего сделать нельзя, надо
переходить на параметризованный.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.09.2017, 19:06
    #39522246
Onax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
ну офигеть теперь..
слава одину что хоть исходники открыты, получается надо фиксить и пересобирать EntityFramework.Firebird.dll
...
Рейтинг: 0 / 0
16.09.2017, 20:18
    #39522252
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
Onaxну офигеть теперь..
слава одину что хоть исходники открыты, получается надо фиксить и пересобирать EntityFramework.Firebird.dll

А прикинь что будет, когда счётчик за maxint перевалит... весь мир бардак, все бабы... кхм... а солнце, кхм, фонарь... Один я Дартаньян весь в белом.
...
Рейтинг: 0 / 0
18.09.2017, 09:12
    #39522582
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
Старый плюшевый мишка,

640 КБ памяти с избытком хватит любому компьютеру (ц)
...
Рейтинг: 0 / 0
18.09.2017, 10:16
    #39522615
FastBaseDev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
Dimitry SibiryakovOnaxнужны какие-нибудь идеи в чем проблема и что можно сделать, учитывая что весь sql
генерируется...

Да, размер литерала ограничен. Нет, с генерируемым SQL ничего сделать нельзя, надо
переходить на параметризованный.

Или передавать 0 в качестве длины sql-стейтмента в api (и заканчивать строку нулём): http://tracker.firebirdsql.org/browse/CORE-1117
И тогда можно >64K. Проверено.
...
Рейтинг: 0 / 0
18.09.2017, 10:20
    #39522619
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
FastBaseDev,

литералы строк для BLOB всё равно 64K ограничены. И это только в FB >= 3.0
...
Рейтинг: 0 / 0
18.09.2017, 10:39
    #39522626
FastBaseDev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
Симонов Денислитералы строк для BLOB всё равно 64K ограничены.
Чем это удобно? Ведь даже базу в скрипт не выгрузить.
...
Рейтинг: 0 / 0
18.09.2017, 10:42
    #39522627
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
FastBaseDev,

я что-то говорил про удобство? Это архитектурное ограничение, которое чуток поднято в 3.0 (я про литералы).
Размер статментов поднят существенно. ЕМНИП - 10Мб.
...
Рейтинг: 0 / 0
18.09.2017, 15:36
    #39522811
Onax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить?
Про параметры-то я сразу подумал, вот только конкретно в этом единственно месте нельзя параметры использовать
Автор библиотеки не ошибся, а просто не запихнуть туда их..

Я наивно полагал что щас сделаю concat из мелких строк, но оказалось итоговый результат тоже не может вылезать за 32кб...
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / встака binary string сломалась, дело в размере 32кб? фб не умеет? как победить? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]