1.安装UDF函数
(1)下载GBK2Unicode.zip,地址为https://downloads.teradata.com/tag/udf
(2)windows或者Linux环境下使用bteq进行安装。
进入文件所在目录,输入如下命令(windows中使用dos)
bteq .logon 192.168.253.222/citic_edw
输入口令后,输入如下命令
database syslib; .run file=16_936.sql
验证syslib库中是否存在udf_w936to16和udf16tow936两个UDF,存在则说明安装成功。
2.Latin字符集字段中文值,插入到Unicode字符集字段
//注意:使用Latin字符集连接的session客户端执行如下SQL create multiset table test_latin( col1 varchar(100) character set latin ); insert into test_latin values(‘我是中文‘); //注意:使用Unicode字符集连接的session客户端执行如下SQL create multiset table test_unicode( col1 varchar(100) character set unicode ,col2 varchar(100) character set unicode ); insert into test_unicode select udf_w936to16(col1,‘‘),udf_w936to16(col1,‘‘) from test_latin;
单独执行如下select语句时(无insert),会报错误 Select Failed 9990:Response Row size exceeds 64k bytes and is incompatible with the Client software.
select udf_w936to16(col1,‘‘),udf_w936to16(col1,‘‘) from test_latin;
原因说明:UDF函数udf_w936to16的返回值默认类型为varchar(16000)故需要显示转换,或者隐式转换才可以。
原文地址:https://www.cnblogs.com/badboy200800/p/11122342.html
时间: 2024-10-06 20:44:42