Развернуть в OracleConnection - PullRequest
       10

Развернуть в OracleConnection

1 голос
/ 22 ноября 2011

У меня есть этот кусок кода, который работал правильно с использованием JBoss 5.1, Oracle 11, ojdbc6.jar Я получал OracleConnection по мере необходимости.

InitialContext ic = new InitialContext();
DataSource  ds = ( DataSource ) ic.lookup( "java:/" + dataSource );
Connection con = ds.getConnection();       
OracleConnection conn = con.unwrap( OracleConnection.class );

Больше не использую JBoss 7, Oracle 11, ojdbc6.jar. Это говорит так:

Подключение Не является классом-оболочкой для Oracle Connection

Если у вас есть идеи, пожалуйста, помогите.

Ответы [ 2 ]

4 голосов
/ 14 декабря 2012

Я использую "oracle.jdbc.pool.OracleConnectionPoolDataSource" в качестве класса данных в Glassfish.

Используйте класс или найдите класс jboss.

Изменить и попробовать:

public OracleConnection getOracleConnection(Connection connection) throws SQLException {
    OracleConnection oconn = null;
    try {
        if (connection.isWrapperFor(oracle.jdbc.OracleConnection.class)) {
            oconn = (OracleConnection) connection.unwrap(oracle.jdbc.OracleConnection.class)._getPC();
        }
    } catch (SQLException e) {
        throw e;
    }
    return oconn;
}
0 голосов
/ 22 ноября 2011

Попробуйте получить доступ к нему как WrappedConnection, как это

Connection con = ds.getConnection();
WrappedConnection wc = (WrappedConnection) con;
OracleConnection conn =  (OracleConnection) wc.getUnderlyingConnection();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...