powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
23 сообщений из 23, страница 1 из 1
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39754779
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Firebird 3 в главной таблице ChartAcc, для ключевого поля и других полей домен типа char(8) поменял на домен типа varchar(15) и снова создал бд из sql-скрипта:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
CREATE TABLE CHARTACC (
    ACCNTNUM       VAR15 NOT NULL   /* VAR15 = VARCHAR(15) */,
    ACCPARNT       VAR15                   /* VAR15 = VARCHAR(15) */,
    ACCCOUNT       INT32D0               /*INT32D0 = INTEGER DEFAULT 0 */,
    ACCORDER       INT32D0               /*INT32D0 = INTEGER DEFAULT 0 */,
    ACCBALNS        VAR15                  /* VAR15 = VARCHAR(15) */,
    ACCBLCNT        INT32D0               /*INT32D0 = INTEGER DEFAULT 0 */,
    ACCBLORD        INT32D0              /* INT32D0 = INTEGER DEFAULT 0 */,
    ACCPROFT        VAR15                  /* VAR15 = VARCHAR(15) */,
    ACCPFCNT        INT32D0               /* INT32D0 = INTEGER DEFAULT 0 */,
    ACCPFORD        INT32D0              /* INT32D0 = INTEGER DEFAULT 0 */,
    ACCTITLE         DTITLE                /*DTITLE = VARCHAR(170) */,
    ACDESCRP        DNOTES              /* DNOTES = VARCHAR(8000) */,
    DTCREATE         DSTAMP               /* DSTAMP = TIMESTAMP  */,
    USRCREATE       DMID0              /* MID0 = SMALLINT DEFAULT 0 */,
    USRBLACK         CHAR(1) DEFAULT 'B',
    USRWHITE         CHAR(1) DEFAULT 'W',
    USER_MODIFIED  DTSTAMP         /* TSTAMP = TIMESTAMP  */,
    USER_MODIFIER  DMID0             /* MID0 = SMALLINT DEFAULT 0 */
);



В IBExpert запрос правильно выполняется а в Delphi выводит ошибку:
Код: sql
1.
[FireDac][DatS]-32. EFDException with message Variable length column[ACCPARNT] overflow. Value length-[32], column maximum length-[15]


В таблице есть старые данные максимальной длиной 8 символ хотя новые, длинные тоже нормально добавляю.
Пробовал в новом проекте, но без результата.
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39754790
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubu,

Илюстрирующего проблему кода ты не привел, поэтому не понятно, что там происходит,
что именно за компонент, таблица или Query, кладешь ты туда или берешь, есть ли параметры,
какой длины, есть ли статически добавленные колонки, какой длины, и т.д. и т.п.
К тому же, почему с этим сюда, а не в Delphi? Ошибка то, совершенно очевидно, не серверная.

Модератор: Тема перенесена из форума "Firebird, InterBase".
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39754910
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubu,

надо открыть dataset, из которого добавляются данные в базу и там удалить и снова добавить новое поле, чтобы оно создалось с корректной длиной в делфи.

Так же косяк может быть в разных кодировках. Например, в базе это WIN1251, а в делфи юникод/утф выставлено в компонентах -- тогда размер обрезается в два раза при сохранении (1 символ из делфи будет хранится как "2 символа" в базе):
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39754943
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vlad Fbastibubu,

Илюстрирующего проблему кода ты не привел, поэтому не понятно, что там происходит,
что именно за компонент, таблица или Query, кладешь ты туда или берешь, есть ли параметры,
какой длины, есть ли статически добавленные колонки, какой длины, и т.д. и т.п.
К тому же, почему с этим сюда, а не в Delphi?


Vlad F компонент fdQuery. Ошибку выдает на любой запрос, например,
Код: sql
1.
Select * from chartacc



датасеты пустые, запрос динамически создаю.
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39754953
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, раньше поле у тебя было в UTF-8, а теперь в какой-то однобайтовой кодировке.
Почему огнептица разрешила тебе такое изменение типа - очень интересный вопрос.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39754966
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovПохоже, раньше поле у тебя было в UTF-8, а теперь в какой-то однобайтовой кодировке.
Почему огнептица разрешила тебе такое изменение типа - очень интересный вопрос.


Dimitry Sibiryakov , FB не разрешил и генерировал sql-скрипт и скриптом создал новую базу(metadata+старые данные). В подчиненных таблицах тоже везде поменял домен.

Был домен:
Код: sql
1.
2.
3.
CREATE DOMAIN CRDB AS
CHAR(8) CHARACTER SET UTF8
COLLATE UTF8;



а сейчас:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE DOMAIN VAR15 AS
VARCHAR(15) CHARACTER SET UTF8
COLLATE UTF8;


COMMENT ON DOMAIN VAR15 IS 
'          VARCHAR(15) CHARACTER SET UTF8
COLLATE UTF8';
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39754985
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755035
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubu Vlad F компонент fdQuery. Ошибку выдает на любой запрос, например,
Код: sql
1.
Select * from chartacc


датасеты пустые, запрос динамически создаю.
Если IBExpert, с твоих слов, после модификации структуры таблицы выбирает данные из нее
нормально, а FDQuery дает ошибку, считаю, что надо не ждать дальше у моря погоды, а
переадресовать вопрос в соседнюю ветку по FireDAC главному бракоделу.))
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755058
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vlad FЕсли IBExpert, с твоих слов, после модификации структуры таблицы выбирает данные из нее
нормально, а FDQuery дает ошибку, считаю, что надо не ждать дальше у моря погоды, а
переадресовать вопрос в соседнюю ветку по FireDAC главному бракоделу.))

Нашел ошибку!
После модификации структуры ACCPARNT и ACCBALNS с '.' изменился на '.'+пробелы после него:
Код: sql
1.
2.
3.
INSERT INTO CHARTACC (ACCNTNUM, ACCPARNT, ACCCOUNT, ACCORDER, ACCBALNS, ACCBLCNT, ACCBLORD, ACCPROFT,
ACCPFCNT, ACCPFORD, ACCTITLE, ACDESCRP, DTCREATE, USRCREATE, USRBLACK, USRWHITE, USER_MODIFIED, USER_MODIFIER)
 VALUES ('.', '.                           ', 12, -10, '.', 717, -10, '.', 791, -10, 'главная ветвь', '', '2014-12-05 18:43:23', 55, 'B   ', 'W   ', '2018-12-29 01:29:42', 55);
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755062
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubu,

Сам, по волшебству чтоли, изменился? Так не бывает.
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755064
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vlad Fbastibubu,

Сам, по волшебству чтоли, изменился? Так не бывает.
Не могу сказать. Посчитал, ровно 31 пробелов добавилось, плюс '.' получается 32.
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755067
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubu,

Где добавилось? В коде добавилось? В данных? САМО?
Напоминает анекдот про Ржевского, где "он вам еще и в штаны наложил".
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755068
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubuVlad Fbastibubu,

Сам, по волшебству чтоли, изменился? Так не бывает.
Не могу сказать. Посчитал, ровно 31 пробелов добавилось, плюс '.' получается 32.
В старой базе стоял тип char(32) какой-нибудь перед экспортом -- отсюда и пробелы до недостающей длины.
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755070
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi,

Смотри внимательнЕе. Аффтар на голубом глазу топит за то, что удоиннял с восьми
до пятнадцати, а не укорачивал с тридцати двух.)))
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755074
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad FАффтар на голубом глазу топит за то, что удоиннял с восьми

В каких-то старых версиях CHAR добивался пробелами до объявленной длины в байтах, а не
символах. То есть CHAR(8) UTF-8 это 32 пробела.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755076
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Во всех добивается. Но с каких пор char(8), пусть даже utf8, это 32 пробела, этого моя пока непонимай.))
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755077
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

А, стоп, я пропустил про "в байтах". Но тогда осталось выяснить у аффтара, где он ее достал.))
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755081
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иногда работаю в Firebird Maestro Profesiional Portable v.17.1.0.1 (март 2017года), иногда в IBExpert. Может быть в этом причина.
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755085
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubu,

Т.е. кто-то ИЗ НИХ в штаны тебе наделал? Очень даже может быть.))
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755086
bastibubu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vlad Fbastibubu,

Т.е. кто-то ИЗ НИХ в штаны тебе наделал? Очень даже может быть.))

Парень, потише!
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755088
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bastibubu,

Виноват, но дело все в том, что DS пытался намекнуть на возможные дефекты сервера,
а не клиентских утилит. Однако походу тема себя действительно исчерпала.))
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755095
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бракодел может спать спокойно ?
...
Рейтинг: 0 / 0
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
    #39755126
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

Пока, стало быть, спокойно. Хотя, на мой взгляд, дело в данном конкретном случае осталось достаточно темным.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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