首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在特殊字符前面添加

在特殊字符前面添加
EN

Stack Overflow用户
提问于 2017-04-06 09:43:11
回答 1查看 1.4K关注 0票数 0

我遇到了一个问题,当将数据快速加载到Teradata时,当从.csv文件加载数据时,会出现在特殊字符的前面。

CSV文件

您好,国标5.00已从您的帐户中借记,谢谢您的付款。

Teradata

您好,国标5.00已从您的帐户中借记,谢谢您的付款。

表定义

代码语言:javascript
复制
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 );

快速加载代码

代码语言:javascript
复制
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 Utilityv12.00.011上运行这个程序

EN

回答 1

Stack Overflow用户

发布于 2017-04-20 07:19:29

fastload的默认字符集是ANSII,to是UTF8,解决方案是更改fastload函数中的会话字符集。

代码语言:javascript
复制
fastload <<-EOF
    SET SESSION CHARSET 'UTF8';
    .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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43251446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档