我有一个部署在 Weblogic 12g 中的应用程序,以及一个针对 oracle RAC 配置的数据源。它用作 JPA 提供程序;EclipseLink 2.4.1。
问题是这个例外;
Caused by: Exception [EclipseLink-3001] (Eclipse Persistence Services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.ConversionException
Exception Description: The object [weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB@87a98a], of class [class weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB], could not be converted to [class java.lang.String].
Internal Exception: java.lang.ClassCastException: oracle.sql.CLOB
....
Caused by: java.lang.ClassCastException: oracle.sql.CLOB
at weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB.length(Unknown Source)
at org.eclipse.persistence.internal.helper.ConversionManager.convertObjectToString(ConversionManager.java:679)
at org.eclipse.persistence.internal.helper.ConversionManager.convertObject(ConversionManager.java:100)
....
好吧,我明白问题出在哪里,但我不明白为什么只在 Oracle RAC 中的某些 Oracle 实例被重置时才会发生。发生这种情况时,唯一要做的就是重新启动 WLS 实例。啊!虽然我有这个错误,但其他数据类型运行良好!。
也许 LOB 类型和 RAC 中的 Oracle 服务器实例之间存在某种直接关系?在 RAC 中重新启动 Oracle 实例时,CLOB 数据类型可能不起作用?
提前致谢!此致