Я пытаюсь начать трассировку оракула с помощью прямых вызовов JDBC. Я получаю соединение от Spring (boot / jdbc). Затем я запускаю команды TKProf с помощью операторов ... выполняю запрос и печатаю в журнал.
3 приведенных ниже утверждения возвращают false . Если я использую эти же операторы через консоль Intellij, я получу ожидаемые результаты, и мой файл * .trc будет сгенерирован правильно.
try (final Connection connection = DataSourceUtils.getConnection(dataSource)) {
log.debug(query);
final Long maxCount = findMaxCount();
boolean traceIdSet = connection.createStatement().execute("ALTER SESSION SET TRACEFILE_IDENTIFIER = '" + traceId + "'");
boolean traceEnabled = connection.createStatement().execute("ALTER SESSION SET EVENTS '10046 trace name context forever, level 8'");
final PreparedStatement stmt = connection.prepareStatement(query);
map(consumer, stmt.executeQuery(query));
boolean traceIdOff = connection.createStatement().execute("ALTER SESSION SET EVENTS '10046 trace name context off'");
log.debug("|" + traceIdSet + "|" + traceEnabled + "|" + traceIdOff + "| ____________________ DONE __________________________");
} catch (SQLException e) {
log.error("Error Performing the Query", e);
}
Это должно быть что-то в моей конфигурации ... Я имею в виду, что тонкий драйвер java может сделать это, потому что я могу сделать это через IDE ... поэтому я должен пропустить некоторые другие вещи, например соглашение Spring Boot, которое Я должен измениться.
Не могли бы вы помочь, любой вклад является ценным.
Спасибо!