2015-06-22 45 views
1

我試圖快速加載一些數據。第二列應該作爲小數處理,但是當我嘗試加載數據時,我總是收到2679錯誤的字符錯誤。關於發生了什麼的任何建議?十進制快速加載錯誤:2679

#data 
7004116346230154901061,22.40 
79270112045695798581952128836258811725,2.31 
79270112045695798581952128836258811725,0.47 
79270112045695798581952128836258811725,3.10 
79270112045695798581952128836258811725,1.14 


#fastload 
sessions 16; 
SLEEP 10; 
TENACITY 2; 

.LOGON s/u,p; 

DROP TABLE db.table; 
DROP TABLE db.table_ERR1; 
DROP TABLE db.table_ERR2; 


create table db.table(
    id varchar(100), 
    tos dec(7,2)) no primary index; 


BEGIN LOADING 
    db.table 
    ERRORFILES 
    db.table_ERR1, 
    db.table_ERR2 
    CHECKPOINT 500000 ; 

SET record vartext "," NOSTOP; 

DEFINE 
id (varchar(100)), 
tos (VARCHAR(15)) 


FILE= upload.txt; 

INSERT INTO db.table 
VALUES 
(
:id, 
:tos 
); 


END LOADING; 
LOGOFF; 
.QUIT; 
+0

日誌表是否告訴您錯誤發生在哪一行? – Andrew

+0

它發生在所有行上。 – cloud36

+0

你有'tos'定義爲varchar的任何原因?我現在無法訪問Fastload,但我認爲您需要將TOS列定義爲與目標表中的相同,或者將其轉換爲insert語句:':tos(decimal(7,2) '。 – Andrew

回答

0

在Fastload中,您將第二列定義爲varchar。你想插入小數值在tos中,但在DEFINE你聲明它爲varchar。所以將它改爲十進制,然後嘗試執行它。

0

您可能需要在插入值中嘗試teradata樣式類型轉換,如andrew所述。