我尝试了下面的代码:

public class Abc {

    private ArrayDescriptor arrayDesc;

    void init() {
       connection = //create connection
        arrayDesc = ArrayDescriptor.createDescriptor("DBTYPE",connection);
    }

    void m1() {
        conn1 = //create connection
        ARRAY array_to_pass1 = new ARRAY( arrayDesc , conn1, idsArray1 );
    }

    void m2() {
        conn2 = //create connection
        ARRAY array_to_pass2 = new ARRAY( arrayDesc , conn2, idsArray2 );
    }

}

这段代码给出了以下错误:



如何解决?

最佳答案

ArrayDescriptor已弃用。假设您的connection对象的类型为OracleConnection,请尝试使用createOracleArray代替-如下所示:

public class Abc {
    void init() {
        connection = //create connection
    }

    void m1() {
        conn1 = //create connection
        array array_to_pass1 = conn1.createOracleArray(arrayDesc, idsArray1);
    }

    void m2() {
        conn2 = //create connection
        array array_to_pass2 = conn2.createOracleArray(arrayDesc, idsArray2);
    }
}

注意:使用此方法,数组的类型将为 java.sql.Array 而不是oracle.sql.ARRAY

关于java - 如何重用ArrayDescriptor?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48336475/

10-10 14:25