2014-12-05 2 views
0

Нужна помощь в отладке. Моя структура таблицы ниже:SQL Loader: Недостаточно значений

RESPOND_BY_DATE    TIMESTAMP(6) , 
DESCRIPTION     VARCHAR2(300) , 
AXBCRULE    NUMBER(4)  NOT NULL, 
SEGMENT      VARCHAR2(100) , 
ASSIGN_UNIQUE_BALCON   VARCHAR2(1) , 
BALCON_OFFER_TYPE    VARCHAR2(3) , 
APR       VARCHAR2(10) , 
FEE_YN       VARCHAR2(1) , 
FEE_PERCENT     VARCHAR2(10) , 
FEE_AMOUNT_MAX     VARCHAR2(10) , 
BALCON_DURATION_TYPE   VARCHAR2(7) , 
BALCON_DURATION    VARCHAR2(3) , 
BALCON_CAP_AMOUNT    VARCHAR2(10) , 
INTERIM_APR     VARCHAR2(10) , 
INTERIM_DURATION_TYPE   VARCHAR2(7) , 
INTERIM_DURATION    NUMBER(3)  , 
BALCON_ID      NUMBER(7)  , 
CHANNEL_ID    VARCHAR2(7) NOT NULL , 
SUBCHANNEL_ID   VARCHAR2(7) NOT NULL , 
PROGRAM_NAME   VARCHAR2(45) NOT NULL, 
DATE_INITIATED   TIMESTAMP(6) NOT NULL, 
ERROR_MESSAGE     VARCHAR2(1024) , 
STATUS       NUMBER(2)  , 
USER_CODE      VARCHAR2(10) , 
WARNING_MESSAGE    VARCHAR2(1024) , 
BALCON_OFFER_SEQUENCE NUMBER(2)  NOT NULL, 
CAMPAIGN_TAG     VARCHAR2(3) 

Он имеет в общей сложности 27fields и я использовал файл ниже CTL, чтобы загрузить его:

OPTIONS (LOAD=1) 
load data 
     infile * 
    replace into table test_table 
    (RESPOND_BY_DATE  SYSDATE, 
DESCRIPTION   CONSTANT 'test',   
AXBCRULE    CONSTANT '011',   
SEGMENT    CONSTANT '12',   
ASSIGN_UNIQUE_BALCON CONSTANT '1',   
BALCON_OFFER_TYPE  CONSTANT '1',   
APR     CONSTANT '12',   
FEE_YN     CONSTANT 'Y',   
FEE_PERCENT   CONSTANT '009',   
FEE_AMOUNT_MAX   CONSTANT '12',   
BALCON_DURATION_TYPE CONSTANT '1',   
BALCON_DURATION  CONSTANT '12',   
BALCON_CAP_AMOUNT  CONSTANT '0123',  
INTERIM_APR   CONSTANT '1',   
INTERIM_DURATION_TYPE CONSTANT 'N',   
INTERIM_DURATION  CONSTANT '1',   
BALCON_ID    CONSTANT '1',   
CHANNEL_ID  CONSTANT '1',   
SUBCHANNEL_ID   CONSTANT '1',   
PROGRAM_NAME   CONSTANT '1',   
DATE_INITIATED   SYSDATE,   
ERROR_MESSAGE   CONSTANT '1',   
STATUS     CONSTANT '1' ,   
USER_CODE    CONSTANT '1',   
WARNING_MESSAGE  CONSTANT '1',   
BALCON_OFFER_SEQUENCE CONSTANT '1', 
CAMPAIGN_TAG CONSTANT '1' 
) 

Когда я пытаюсь загрузить этот тестовые данные в таблицу, я столкнулись с погрешностью ниже:

Record 1: Rejected - Error on table "schema"."TEST_TABLE". 
ORA-00947: not enough values 

Просьба помочь мне. Заранее спасибо.

+0

Я не могу найти никаких проблем с файлом управления. Можете ли вы разместить содержимое своего файла журнала управления? – Incognito

ответ

1

Измените записи файлов управления для Отметка времени столбцы выглядеть следующим образом:

RESPOND_BY_DATE EXPRESSION "CAST(SYSDATE AS TIMESTAMP)" 

ДАТЫ и TIMESTAMP не одни и те же типы данных. Вам просто нужно преобразовать SYSDATE в TIMESTAMP.

ORA-00947 поднимается, когда процесс пытается установить SYSDATE в TIMESTAMP. SYSDATE не имеет того же дробного секундного компонента, который требуется TIMESTAMP.

+0

Спасибо. Я использовал «trunc (sysdate)», это тоже помогло. – gaurav

+0

Интересно. Думаю, поскольку trunc() удаляет время автоматического преобразования в метку времени, это. –

Смежные вопросы