2014-11-14 6 views
2

Я пытаюсь выполнить простую загрузку данных с помощью сопоставления 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)] 

Мое отображение:

enter image description here

+0

Pretty напрямую. Посмотрите на картинку –

+1

YesFirst Прежде всего моя настройка «Отклонить усеченные/переполненные строки» в сеансе была отключена, и я увидел усеченные строки в целевой таблице. Для exaple, в источнике это значение было «пассивным», но в целевой таблице я стал «пассивны». –

+1

Это не помогло. Сначала я изменил строку на nstring в исходном квалификаторе и в преобразовании выражения. Запустил отображение и получил то же самое. Затем я изменил varchar2 на nvarchar2 в целевом определении - все еще получил эту ошибку. Затем я попытался запустить отладчик этого сопоставления. В отладчике я пытался передать данные mt через это сопоставление, и данные успешно прошли без ошибок. Но данные отображаются странным образом - Informatica отображает байты вместо символов Unicode: http://andsh.ru/mapping_debug.png –

ответ

1

Решение было определить переменную окружения NLS_LANG = russian_russia.cl8mswin1251 на сервере IPC