我试图快速加载一些数据。第二列应该被视为小数,但是当我尝试加载数据时,我不断收到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;
答案 0 :(得分:0)
在Fastload中,您将第二列定义为varchar。你想在tos中插入十进制值,但在DEFINE中你将它声明为varchar。所以将它改为十进制,然后尝试执行它。
答案 1 :(得分:0)
您可能必须在安德鲁提到的插入值中尝试teradata样式类型转换。