Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Usando o analisador de banco de dados Oracle de Java usando JDBC


Eu não tenho ideia do que exatamente você quer alcançar, mas talvez você possa tentar usar o pacote DBMS_SQL e seu método PARSE . Isso funciona apenas com DML apenas declarações. Isso é o que o Oracle SQL Developer faz.

Este parser pode ser usado para instruções DML também. Para PL/SQL, precisará de alguns ajustes. Até onde eu sei, ninguém gastou tempo suficiente para criar um analisador real de validação completa para o DDL da Oracle.

Aqui é um exemplo de como eu uso:
declare 
 l_cursor number := dbms_sql.open_cursor; 
 l_offset number := -1 ; 
begin 
  begin 
    dbms_sql.parse( l_cursor, :st, dbms_sql.native ); 
  exception when others then
   l_offset := dbms_sql.last_error_position;
  end;
dbms_sql.close_cursor( l_cursor );
  :off := l_offset;
end;

Basta executar este bloco. Passe um parâmetro de entrada do tipo VARCHAR2(String) (máximo de 32 KB) e um parâmetro de saída NUMBER.