【发布时间】:2014-01-22 18:16:07
【问题描述】:
我们正在通过 DRDA 端口连接到 Unicode 的 Informix 数据库。
我们还有另一个数据库,其语言环境是英语语言环境 (en_us.819)。
我们正在使用与 Unicode 数据库的连接(如 dbname:'informix'.tablename)对英文数据库执行查询。
我们发现当查询尝试检索英语语言环境数据库中的“XIC¢LILY NINETH”值时会发生这种情况。
同样在 ODBC 连接上也能正常工作。
Error code : -4220, SQL State: null
请提供任何帮助/指针/解决方法!
来自 cmets 的信息
我正在使用两个具有不同数据库区域设置的数据库,比如:
- Database1 -> en_us.819(英文)
- Database2 -> en_us.57372 (UTF8)
我正在使用 DB2 通用服务器客户端连接到数据库(表示 DRDA 连接)。
- 连接到 Database1。 Select * from user
执行成功。 - 连接到数据库 2 从 Database1 中选择 *:'Informix'.User
引发异常并导致数据库崩溃。
【问题讨论】:
-
对不起,但您的问题对我来说有点困惑,并且缺少重要信息。比如:你的 unicode 数据库的语言环境是什么?客户端使用的语言环境是什么?你能举一个更好的例子这个sql怎么样?如果您直接在 unicode 数据库上连接 sql 是否有效?或者这个测试是否提到了这个 odbc 连接?
-
嗨@ceinmart,我正在使用具有不同数据库区域设置的两个数据库,例如:Database1-> en_us.189(英文)Database2->en_us.57372(UTF8)我正在使用DB2 common服务器客户端连接到数据库(表示 DRDA 连接):以下是查询和结果: 连接到 Database1。 Select * from user - 执行成功。连接到数据库 2 从数据库 1 中选择 *:'Informix'.User - 引发异常并导致数据库崩溃。如果您需要更多详细信息,请告诉我。谢谢,帕尼
-
好的,现在您提到了非常重要的事情:“使数据库崩溃”。这肯定是一个错误/缺陷,如果你有积极的支持应该打开一个 PMR(检查这个关于 IBM Support 的问题,这是一个类似的情况:stackoverflow.com/q/21047333/469192)
-
@ceinmart,谢谢。我们这样做了,并在服务器上应用了补丁。现在没有使用相同查询的崩溃。但是具有特殊字符(例如“¢”)的字段会给出空结果。请问有什么想法吗?
-
我们发现是Java库(JCC)报错。当我们尝试使用 C# 程序时,'¢' 字符转换为 '?'字符和其余字符正确出现。即使现在我们也遇到了一些错误,一旦我们得到关于它们的具体细节,我会继续发布。谢谢@ceinmart。
标签: utf-8 informix remote-access