Я пытаюсь выполнить простую загрузку данных с помощью сопоставления IPC из одного БД Oracle в другой.Сведения об усечении/переполнении данных Powercenter Informatica
Структура таблицы источника следующее:
ID NUMBER;
C_VALUE VARCHAR2 (16);
C_CODE VARCHAR2 (16);
SN NUMBER;
SU NUMBER;
Целевая структура таблицы выглядит следующим образом:
ID NUMBER
C_VALUE VARCHAR2 (20)
SSID NUMBER
LOADID NUMBER
LOADROWNUMBER NUMBER
DATEBEGIN DATE
DATEEND DATE
Когда я бегу рабочий процесс, я получаю следующее сообщение об ошибке:
8340||Error: Target table [TYPE_ACC_RRB] data truncation/overflow error.
Когда я пытаюсь отладить мое сопоставление, я использую эту строку ввода вПолепредставлено символами Юникода, а длина удваивается в байтах.
Обозначает ли Informatica символы байтов как длины его строковых полей? Как заставить его видеть символы, а не байты?
Что я вижу из журнала сеанса связи:
Server Mode: [UNICODE]
Server Code page: [UTF-8 encoding of Unicode]
The session sort order is [Binary].
Source database connection [RBO01] code page: [MS Windows Cyrillic (Slavic)]
Target database connection [STG1] code page: [MS Windows Cyrillic (Slavic)]
Мое отображение:
Pretty напрямую. Посмотрите на картинку –
YesFirst Прежде всего моя настройка «Отклонить усеченные/переполненные строки» в сеансе была отключена, и я увидел усеченные строки в целевой таблице. Для exaple, в источнике это значение было «пассивным», но в целевой таблице я стал «пассивны». –
Это не помогло. Сначала я изменил строку на nstring в исходном квалификаторе и в преобразовании выражения. Запустил отображение и получил то же самое. Затем я изменил varchar2 на nvarchar2 в целевом определении - все еще получил эту ошибку. Затем я попытался запустить отладчик этого сопоставления. В отладчике я пытался передать данные mt через это сопоставление, и данные успешно прошли без ошибок. Но данные отображаются странным образом - Informatica отображает байты вместо символов Unicode: http://andsh.ru/mapping_debug.png –