2014-03-19 53 views
0

我已经在Linux机器上成功安装了ODBC iseries驱动程序。我正在调用DB2 iseries(6)。在我尝试从列CDESC VARCHAR(3000)中提取数据之前,所有内容都可以顺利运行。当字符数小于255时,我不会遇到任何问题,但当它超过255时,查询将失败并中断应用程序。表中的数据超过了255,但我无法将其撤回。我已经尝试CAST(CDESC AS TEXT)AS DESC,但这不起作用。对驱动程序设置有任何想法或更改列类型?在此先感谢DB2 iSeries PDO VARCHAR

+0

什么是“255”?这是CDESC字符的十进制表示,还是CDESC的长度? – user2338816

回答

0

VARCHAR是单字节字符集数据[SBCS],而不是双字节[storesDBCS]的数据类型。因此,它不可能存储字符超过255.

如果您需要支持双字节字符,您可以查看处理Unicode字符集的NVARCHAR

也许问题在于翻译成你的字符集。请记住,DB2 for i以基于EBCDIC的字符集存储SBCS数据,而不是与ASCII相关的字符集。你在使用什么CCSID,以及存储的数据是什么?

相关问题