Миграция с 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');
Другие вопросы по тегам