【发布时间】:2017-09-01 06:19:42
【问题描述】:
我遇到一个问题,当从 .csv 文件加载数据时,快速将数据加载到 Teradata 表中会导致 Â 出现在特殊字符的前面。
CSV 文件
1|您好,已从您的帐户中扣除 5.00 英镑,感谢您的付款。|XXXX|XX|XXXX-XXX-XXX
Teradata 表
1|您好,已从您的帐户中扣除 5.00 英镑,感谢您的付款。|XXXX|XX|XXXX-XXX-XXX
表定义
CREATE MULTISET TABLE DATABASE1.TABLE1 ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
FIELD1 VARCHAR(25) CHARACTER SET LATIN NOT CASESPECIFIC,
FIELD2 VARCHAR(750) CHARACTER SET LATIN NOT CASESPECIFIC,
FIELD3 VARCHAR(35) CHARACTER SET LATIN NOT CASESPECIFIC,
FIELD4 VARCHAR(35) CHARACTER SET LATIN NOT CASESPECIFIC,
FIELD5 VARCHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC
) PRIMARY INDEX ( FIELD1 );
快速加载代码
fastload <<-EOF
.LOGON username/pass;
DATABASE DATABASE1;
SET RECORD VARTEXT "|";
BEGIN LOADING TABLE1
ERRORFILES TABLE1_ERR1,
TABLE1_ERR2;
DEFINE
FIELD1 (VARCHAR(25))
FIELD2 (VARCHAR(750))
FIELD3 (VARCHAR(35))
FIELD4 (VARCHAR(35))
FIELD5 (VARCHAR(50))
FILE=${LOAD_FILE};
SHOW;
INSERT INTO DATABASE1.TABLE1
(
FIELD1 ,
FIELD2 ,
FIELD3 ,
FIELD4 ,
FIELD5
)
VALUES
(
:FIELD1 ,
:FIELD2 ,
:FIELD3 ,
:FIELD4 ,
:FIELD5
);
.END LOADING;
.LOGOFF;
.QUIT;
EOF
有谁知道如何解决这个问题,我从 Solaris 10 Fastload Utility v12.00.00.011 运行它
【问题讨论】:
-
您可能使用了错误的字符集进行加载。顺便说一句,12 是一个非常古老的版本。
-
告诉我吧!不幸的是无法改变它
-
尝试转换CSV文件的字符集?请参阅此链接了解转换选项stackoverflow.com/questions/64860/…
标签: database character-encoding teradata