Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verwendung des Oracle-Datenbank-Parsers von Java mit JDBC

Ich habe keine Ahnung, was genau Sie erreichen wollen, aber vielleicht versuchen Sie, das Paket DBMS_SQL zu verwenden und seine Methode PARSE . Dies funktioniert nur mit DML nur Aussagen. Das macht Oracle SQL Developer.

Dieser Parser kann auch für DML-Anweisungen verwendet werden. Für PL/SQL sind einige Anpassungen erforderlich. Soweit ich weiß, hat niemand genug Zeit darauf verwendet, einen wirklich vollständig validierenden Parser für Oracles DDL zu erstellen.

Hier ist ein Beispiel, wie ich es verwende:

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;

Führen Sie einfach diesen Block aus. Übergeben Sie einen Eingabeparameter vom Typ VARCHAR2(String) (max. 32 KB) und einen Ausgabeparameter NUMBER.