简体   繁体   English

如何使用ojdbc 12.1.0.2驱动程序将数组从Java传递到oracle存储过程?

[英]How to pass array to oracle stored procedure from java with ojdbc 12.1.0.2 driver?

I was using oracle 11 version and passing java array to oracle stored procedure like this 我正在使用oracle 11版本并将java array传递给oracle stored procedure

ArrayDescriptor Descriptor = ArrayDescriptor.createDescriptor("COMMON_STRING128_LIST", oracleConnection);
String[] array = initializeArray();
ARRAY mer = new ARRAY(Descriptor, oracleConnection, array);
callableStatement.registerOutParameter(1, Types.ARRAY);

than I updated my oracle version to oracle 12.1.0.2 and I am using ojdbc7 12.1.0.2 and all this classes (ArrayDescriptor , ARRAY ) are deprecated now. 我比我的更新oracle version到Oracle 12.1.0.2和我使用ojdbc7 12.1.0.2而这一切classes (ArrayDescriptor , ARRAY )现已弃用。

How can I do same think with ojdbc 12.1.0.2 driver and oracle 12 database ? 我如何用ojdbc 12.1.0.2驱动程序和oracle 12 database做同样的思考?

As per oracle.sql.ARRAY javadocs : 根据oracle.sql.ARRAY javadocs

Use java.sql.Array interface for declaration instead of using concrete class oracle.sql.ARRAY. 使用java.sql.Array接口进行声明,而不要使用具体的类oracle.sql.ARRAY。

for example: 例如:

java.sql.Array array = ((oracle.jdbc.OracleConnection)connection).createOracleArray((...);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM