Я пытаюсь импортировать экспорт Oracle 11 в Oracle 11 XE.
Я получаю следующие сообщения:
импорт в XE fehlerhaft импорт выполняется в наборе символов WE8MSWIN1252 и сервере импорта набора символов AL16UTF16 NCHAR
использует набор символов AL32UTF8 (возможно преобразование кодировки)
Любые идеи, как я могу импортировать этот дамп в Oracle 11 XE?
Редактировать:
Учитывая стол
CREATE TABLE BDATA.Artikel(
Key VARCHAR2(3) NOT NULL,
Name VARCHAR2(60) NOT NULL,
Abkuerzung VARCHAR2(5) NOT NULL
);
Я получаю такие ошибки
IMP-00019: row rejected due to ORACLE error 12899
IMP-00003: ORACLE error 12899 encountered
ORA-12899: value too large for column "BDATA"."ARTIKEL"."ABKUERZUNG" (actual: 6, maximum: 5)
Column 1 ABL
Column 2 Aufbewahrungslösung
Column 3 AfbLö
Некоторые строки отсутствуют в импорте.
У вас нет выбора набора символов в XE, поэтому вы не можете изменить его в соответствии с базой данных, которую вы пытаетесь импортировать. Было бы целесообразно перенести исходную базу данных перед экспортом?
Импорт должен работать, но преобразование набора символов может означать, что некоторые текстовые столбцы с символами, отличными от ascii, после импорта не будут выглядеть одинаково. И строки могут быть отклонены, если они слишком длинные в новом наборе символов.
В вашем случае вы конвертируете в UTF8, что будет означать, что при преобразовании до 2 ( или более в теории ) возможно увеличение одного байтового символа . Возможно, вам придется увеличить размер столбца перед экспортом или настроить целевую схему и импортировать данные в отдельном шаге. Смотрите здесь для других возможных проблем усечения данных
источник
Самый простой способ: (отключение необходимо) :
Сначала подключитесь как sysdba:
Далее выполните следующий скрипт:
У меня это работало в Oracle 12c Standard Two Edition
Взято с: http://www.blogdelpibe.com/2015/05/como-solucionar-el-error-ora-12899.html
источник
Это сработало для меня. Вместо этого:
Попробуйте что-то вроде этого в bash:
Это меняет каждый
col1 VARCHAR2(n)
наcol1 VARCHAR2(n CHAR)
в строках, начинающихся сCREATE TABLE
. Вы также можете изменить егоdata.dmp
перед запуском команды imp, если вы не можете включить его<(...)
в свою оболочку, например:... но это не обязательно в bash, и что-то может пойти не так при преобразовании или создании резервной копии, как указано в
-i.bk
.источник