Миграция с SQL Server на Oracle — ORA-12899: слишком большое значение для столбца
При переносе базы данных SQL Server в Oracle я получаю сообщение об ошибке
ORA-12899: слишком большое значение для столбца
хотя типы данных одинаковы.
Это происходит со строками типа 'enthält'. Тип данных
NVARCHAR(7)
должен иметь возможность хранить данную строку в SQL Server, где, как и в Oracle
VARCHAR2(7)
не в состоянии удерживать значение и выбрасывать значение слишком большой ошибки.
Это что-то со стилем кодирования в Oracle? Как мы можем это решить?
Спасибо
1 ответ
Вы можете создать свою таблицу Oracle с чем-то вроде
varchar2(7 char)
это заставляет его выделять единицы символов, а не байты. Это удается:
create table tbl(x varchar2(7 char));
insert into tbl values ('enthält');