【问题标题】:ORACLE 12.2 - Invalid string conversion from CLOB fiel using JDBC THIN driverORACLE 12.2 - 使用 JDBC THIN 驱动程序从 CLOB 字段转换字符串无效
【发布时间】:2021-11-05 22:41:21
【问题描述】:

我们在字符集 WIN1250 (EE8MSWIN1250) 中有 ORACLE 数据库。直到 ORACLE 12.1 版一切正常。但是现在我们已经安装了 ORACLE 12.2 并且从数据库中读取的相同数据包含无效字符。例如,我展示了 DBeaver 的屏幕截图(它类似于 SQLDeveloper - 但它是通用的,并且用于连接到 ORACLE 使用了与我们相同的 THIN 驱动程序)前两张图片来自 ORACLE 12.1(带有 CLOB 字段的表中的设置和数据)和第二张两张图片来自 ORACLE 12.2(设置和相同数据)

有人知道 12.1 和 12.2 版本有什么区别吗?我在 ORACLE 网站上阅读了很多文档,但没有结果。

甲骨文 12.1 设置

来自 ORACLE 12.1 的数据 - 正确的字符

甲骨文 12.2 设置

来自 ORACLE 12.2 的数据 - 包含无效字符

【问题讨论】:

  • 一个区别是 12.2 默认为 UTF8 字符集。是否有可能当有人安装 12.2 时他们不小心使用了新的默认值,然后他们转换了它而不是重新安装它?转换数据库字符集很棘手,很容易损坏数据。
  • 我不认为这是原因。 Oracle 已安装,安装后导入数据。如果 ORACLE 12.1 一切正常,但如果 ORACLE 12.2 数据包含无效字符。
  • 你有没有想过要问Oracle?我假设您有服务协议?
  • 当然,我们是软件开发人员,并且我们有 Oracle 作为我们的数据库。我可以尝试询问Oracle,但是他们的支持过程太复杂了:)。我希望有人知道答案。

标签: oracle12c


【解决方案1】:

这是 ORACLE 12cR2 中的问题。需要申请补丁号 27002286。 就我而言,它是“补丁 27002286:WINDOWS DB BUNDLE PATCH 12.2.0.1.171130”

它会解决问题。

【讨论】:

    【解决方案2】:

    相当老的线程,但我认为我们确实有类似的问题......

    虽然(最终)从 Oracle 11 升级到 Oracle 12,但我们遇到了与上述相同的问题。

    我们基于 Java 的应用程序在连接到 Oracle 11 数据库时表现良好,但在 Oracle 12 中,某些字符(尤其是德语中的 ä、ü、ö)在存储在 CLOB 字段中时会损坏。

    浏览互联网我没有找到任何直接解决这个问题的方法。

    其他人是否有或遇到过同样的问题,你的解决方案是什么?

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,并通过在 Linux x86_64 上为 Oracle DB 12.2.0.1 应用补丁 26380097 解决了这个问题。 这在Oracle Doc ID 2377078 中有记录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-27
        • 2012-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-30
        • 2017-08-15
        相关资源
        最近更新 更多