Получение oracle.jdbc.driver.LogicalConnection, необходимо oracle.jdbc.OracleConnection

Я пытаюсь подключиться к базе данных Oracle внутри приложения Java, работающего в WebSphere. Мне нужно иметь возможность создать дескриптор массива для использования в вызове процедуры.

Код выглядит так:

Connection conn=null;
ArrayDescriptor arrayDescriptor;
Connection tmpCon = jdbcTemplate.getDataSource().getConnection();
conn =  WSCallHelper.getNativeConnection(tmpCon);
arrayDescriptor = ArrayDescriptor.createDescriptor("t_my_array",conn);
IDs = new oracle.sql.ARRAY(arrayDescriptor, conn, list.toArray());

Линия, которая вызываетArrayDescriptor.createDescriptor выдает исключение приведения класса

java.lang.ClassCastException: oracle.jdbc.driver.LogicalConnection incompatible with oracle.jdbc.OracleConnection
    at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:149)
    at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:115)

Проходя через это с отладчиком, я вижу, чтоconn определенноoracle.jdbc.driver.LogicalConnection, Проблема в том, что я не могу ссылатьсяLogicalConnection в моем коде, потому что этот класс не является общедоступным, поэтому я не могу просто сделать что-то вроде этого:

arrayDescriptor = ArrayDescriptor.createDescriptor("t_my_array",((LogicalConnection)conn).getWrapper());

.

И это:

arrayDescriptor = ArrayDescriptor.createDescriptor("t_my_array",((oracle.jdbc.driver.OracleConnection)conn).getWrapper());

также возвращает исключение приведения класса:

java.lang.ClassCastException: oracle.jdbc.driver.LogicalConnection incompatible with oracle.jdbc.driver.OracleConnection

Мне нужно иметьOracleConnection объект, но я не могу получить один изLogicalConnection это возвращается ко мне. Кто-нибудь когда-нибудь видел это раньше? Я чувствую, что упускаю что-то действительно очевидное здесь, но, возможно, мне просто нужна еще одна чашка кофе ...

Ответы на вопрос(1)

Ваш ответ на вопрос