JDBC Oracle - Fetch explique le plan pour la requête

Im me demandais comment je peux récupérer le plan d'expliquer à l'aide de Java. Pourquoi j'ai besoin c'est parce que nous avons un cadre où les utilisateurs peuvent élaborer des rapports. Ces rapports parfois construire d'énormes requêtes dans lequel nous voulons expliquer à la volée et de stocker le coût de. De cette façon, nous pouvons analyser le coût élevé de requêtes ultérieures et l'optimiser.

Exemple de code qui me donne illégal de la colonne d'exception:

ResultSet rs = null;
   try {
        oracle = ConnectionManager.getConnection(ConnectionManager.Test);
        pstmt = oracle.prepareStatement("begin execute immediate 
        'explain plan for SELECT   1 from Dual'; end;");
        rs = pstmt.executeQuery();
        while (rs.next()) {
            System.out.println(rs.getString(1));
        }

source d'informationauteur Chris Dale