如何解决CreateArray因不支持的功能而失败:ule子中的createArrayof
dbCreateArray函数在将Oracle DB与c3p0连接池一起使用时出现错误,错误java.sql.SQLException:不支持的功能我正在使用以下方法
#[dbCreateArray(oracle_Configurtion,<USER_DEFINED_DATA_TYPE_NAME_AS_IN_ORACLE>,Object[])]
我正在使用Mule EE 3.9,oracle 12.2.0和c3p0 0.9.5.2
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value = "oracle.jdbc.pool.OracleDataSource" />
<property name="jdbcUrl" value = "${db.url}" />
<property name="user" value = "${db.username}" />
<property name="password" value = "${db.password}" />
<property name="initialPoolSize" value = "${pool.initialSize}" />
</bean>
我看过这个博客,他建议改用oracle ucp池,但是在使用c3p0池时有什么方法可以解决此问题。
https://help.mulesoft.com/s/article/dbCreateArray-function-failing-with-DB-connection-pooling
解决方法
Oracle does not support the JDBC4-standard createArrayOf
method。
相反,您必须call a proprietary createARRAY
method。
如果您直接编写代码,则将c3p0 unwrap
Connection
传递给基础Oracle Connection
并调用专有方法没问题。但是,您似乎正在使用一种高级语言,该语言可能已翻译为标准JDBC方法。除非您完全了解转换的完成方式,否则要使此更高级别的语言调用起作用可能并不容易。
看起来Oracle自己的UCP内置了Oracle特定的解决方法,但是c3p0
不包括这样的解决方法,可惜。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。