gpt4 book ai didi

sql - 导入文件到表错误: Failure 2673

转载 作者:搜寻专家 更新时间:2023-10-30 23:48:01 26 4
gpt4 key购买 nike

我正在尝试使用 BTEQ 将 csv 文件(由 | 分隔)加载到 Teradata 表。不幸的是,我收到错误 Failure 2673 The source parcel length does not match data that was defined。对可能导致这些错误的原因的任何想法表示赞赏。如果您需要更多详细信息,请告诉我。谢谢。

这是表 DDL:

    CREATE MULTISET TABLE DATABASE.EMPLOYEE ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
EMP_ID VARCHAR(11) CHARACTER SET LATIN NOT CASESPECIFIC,
FIRST_NAME VARCHAR(30) CHARACTER SET LATIN NOT CASESPECIFIC,
MIDDLE_NAME VARCHAR(30) CHARACTER SET LATIN NOT CASESPECIFIC,
LAST_NAME VARCHAR(30) CHARACTER SET LATIN NOT CASESPECIFIC,
SEX CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC COMPRESS,
BIRTHDATE CHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC COMPRESS,
LOAD_DT TIMESTAMP(6))
PRIMARY INDEX ( EMP_ID );

BTEQ 脚本:

    .LOGON xxxxx/XXXXX,XXXXX
.IMPORT VARTEXT '|' FILE='C:/XXXX/XXXX.csv' , skip = 1;
.QUIET ON
USING
( EMP_ID VARCHAR(11)
,FIRST_NAME VARCHAR(30)
,MIDDLE_NAME VARCHAR(30)
,LAST_NAME VARCHAR(30)
,SEX CHAR(1)
,BIRTHDATE CHAR(10)
,LOAD_DT TIMESTAMP(6)
)
INSERT INTO DATABASE.EMPLOYEE
( EMP_ID
,FIRST_NAME
,MIDDLE_NAME
,LAST_NAME
,SEX
,BIRTHDATE
,LOAD_DT
)
VALUES (
:EMP_ID
,:FIRST_NAME
,:MIDDLE_NAME
,:LAST_NAME
,:SEX
,:BIRTHDATE
,CURRENT_TIMESTAMP
);
.LOGOFF
.QUIT

CSV 文件

EMP_ID|FIRST_NAME|MIDDLE_NAME|LAST_NAME|SEX|BIRTHDATE
00011111|Sam|Arthur|Heinz|F|1955-01-01
00022222|Liam||Carter|M|1914-04-11
00033333|Edward|Johnson|Johnson|M|1958-07-13

最佳答案

我认为产生此错误是因为您在 USING 子句中定义了 LOAD_DT 并且 BTEQ 期望导入文件中存在一个字段。相反,它会遇到 EOR,这会导致源包裹长度与您定义的长度不匹配的错误。

尝试从您的 using 子句中删除 LOAD_DT 并在您的 INSERT 中保留 CURRENT_TIMESTAMP 或将列的 DEFAULT 更改为 CURRENT_TIMESTAMP。

如果我可以提出一个建议,我会将 BIRTHDATE 正确定义为 DATE 而不是 CHAR(10)

关于sql - 导入文件到表错误: Failure 2673,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25643937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com