Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Variable length column[xxx] overflow. Value length-[32], column maximum length-[15] / 23 сообщений из 23, страница 1 из 1
29.12.2018, 06:00
    #39754779
bastibubu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
В 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
29.12.2018, 08:23
    #39754790
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
bastibubu,

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

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

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

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

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


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



датасеты пустые, запрос динамически создаю.
...
Рейтинг: 0 / 0
29.12.2018, 14:26
    #39754953
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
Похоже, раньше поле у тебя было в UTF-8, а теперь в какой-то однобайтовой кодировке.
Почему огнептица разрешила тебе такое изменение типа - очень интересный вопрос.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.12.2018, 15:01
    #39754966
bastibubu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
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
29.12.2018, 15:38
    #39754985
bastibubu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
...
Рейтинг: 0 / 0
29.12.2018, 20:03
    #39755035
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Variable length column[xxx] overflow. Value length-[32], column maximum length-[15]
bastibubu Vlad F компонент fdQuery. Ошибку выдает на любой запрос, например,
Код: sql
1.
Select * from chartacc


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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