我已经在linux机箱上成功安装了ODBC iseries驱动程序。我正在调用DB2 iseries(6)。在我尝试从列CDESC VARCHAR(3000)中提取数据之前,一切都在顺利进行。当字符低于255时,我没有遇到任何问题,但是当它超过255时,查询失败并打破了应用程序。表中的数据远远超过255,但我无法将其拉出来。我已尝试过CAST(CDESC AS TEXT)AS DESC,但这不起作用。有关驱动程序设置或更改列类型的任何想法?提前致谢
答案 0 :(得分:0)
VARCHAR
是单字节字符集数据[SBCS]的数据类型,而不是双字节[storesDBCS]。因此,它不可能存储超过255的字符。
如果需要支持双字节字符,可以查看处理Unicode字符集的NVARCHAR
。
也许问题在于翻译你的角色集。请记住,DB2 for i将SBCS数据存储在基于EBCDIC的字符集中,而不是与ASCII相关的字符集。您使用的是什么CCSID,以及存储的数据是什么?