【问题标题】:DB2 iSeries PDO VARCHARDB2 iSeries PDO VARCHAR
【发布时间】:2014-03-19 17:57:26
【问题描述】:

我已经成功地在 linux 机器上安装了 ODBC iseries 驱动程序。我正在调用 DB2 iseries(6)。在我尝试从 CDESC VARCHAR(3000) 列中提取数据之前,一切都运行顺利。当字符低于 255 时,我没有遇到任何问题,但当字符超过 255 时,查询失败并中断应用程序。表中的数据远远超过 255,但我就是无法将其拉回。我试过 CAST(CDESC AS TEXT) AS DESC,但这不起作用。对驱动程序设置或更改列类型有任何想法吗?提前致谢

【问题讨论】:

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

标签: php linux apache pdo db2


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多