近日在做datastage时,从sql server 中抽取到db2在linux上时好使,但迁到window上却一直报
ori_Exp_v_VT1..Transformer_3: At row 13683, link "DSLink4"
DSTAGE-DB2CLI-0103`:`Row rejected.
DBMS.CODE=-302, SQLSTATE=22001, [IBM][CLI Driver][DB2/NT] SQL0302N The value of a host variable in the EXECUTE or OPEN statement is too large for its corresponding use. SQLSTATE=22001
相当郁闷。
查看db2在linux上配置,字符集为gbk codepage为1386
db2在window上的配置,字符集为utf-8 codepage为1208
再查,发现一个中文在gbk中为两个字符,到utf-8下面却是三个字符。
再查sql,一个中文的字符编码长度直接为"1",晕!!!
好了,将原编码长度(含中文列)全部改为三倍,终于ok!
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11419868/viewspace-1020130/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11419868/viewspace-1020130/