2016-08-03 4 views
0

я пытался импортировать данные в Teradata через bteq импорта данных, но я не могу, потому что у меня есть эта проблема:я не могу вставить пустую переменную через данные импорта bteq

* Отказ 2621 Плохой характер в формате или данных LT_CDG_UNICO.NRO_VUELO_ REF. Заявление № 1, Info = 0 * Предупреждение: из данных.

Это я пытался импортировать:

LA; 100; нуль; нуль, 2016-01-01, 2050-01-01

Я создаю этот bteq для импорта это:

bteq <<CARGA_CDG_UNICO> ${FILE_LOG} 2> ERROR_${FCH_HRA}.LOG 
.LOGON ${SERVER}/${USER},${PASS}; 
.IMPORT VARTEXT ';' FILE='${FILE2}'; 
.REPEAT * 

USING CDG_OPE(VARCHAR(20)), NRO_VLO(VARCHAR(20)), CDG_OPE_REF(VARCHAR(20)),NRO_VLO_REF(VARCHAR(20)), FCH_INI(VARCHAR(20)), FCH_FIN(VARCHAR(20)) 
INSERT INTO ${DBTB} (CDG_OPERADOR,NRO_VUELO,CDG_OPERADOR_REF,NRO_VUELO_REF,FCH_INI_VIGENCIA,FCH_FIN_ VIGENCIA) values (:CDG_OPE,:NRO_VLO,:CDG_OPE_REF,:NRO_VLO_REF,:FCH_INI,:FCH_FIN); 

.IF ERRORCODE <> 0 THEN .QUIT ERRORCODE; 
.LOGOFF; 
.QUIT 0; 

CARGA_CDG_UNICO 
} 

ответ

1

в null в входном файле рассматривается как фактическое значение и ваша цель, вероятно, числовой столбец, превращая строка null не удалась.

Вам необходимо применить NULLIF, например.

NULLIF(CDG_OPERADOR_REF, 'null') 
Смежные вопросы