十进制快速加载错误:2679

时间:2015-06-22 21:41:07

标签: sql decimal teradata

我试图快速加载一些数据。第二列应该被视为小数,但是当我尝试加载数据时,我不断收到2679个错误的字符错误。有关正在发生的事情的任何建议吗?

#data
29499512266332107004116346230154901061,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;

2 个答案:

答案 0 :(得分:0)

在Fastload中,您将第二列定义为varchar。你想在tos中插入十进制值,但在DEFINE中你将它声明为varchar。所以将它改为十进制,然后尝试执行它。

答案 1 :(得分:0)

您可能必须在安德鲁提到的插入值中尝试teradata样式类型转换。