如何从`PreparedStatement`获取sessionId?

时间:2017-01-10 04:32:27

标签: java oracle prepared-statement

如何从PreparedStatement获取sessionId? 在调试模式下我可以这个

((T4CConnection) ((T4CPreparedStatement) ((OraclePreparedStatementWrapper) ps).preparedStatement).connection).sessionId

但我怎样才能在班上得到这个sessionId

1 个答案:

答案 0 :(得分:2)

Field sessionIdField = ps.getConnection().getClass().getDeclaredField("sessionId");
                    Field serialNumberField = ps.getConnection().getClass().getDeclaredField("serialNumber");
                    sessionIdField.setAccessible(true);
                    serialNumberField.setAccessible(true);
                    Object sessionId = sessionIdField.get(ps.getConnection());
                    Object serialNumber = serialNumberField.get(ps.getConnection());