# SQL-Prozedur via JDBC aufrufen ?



## dada (4. Mai 2004)

Hallo,
wie kann man eine sql-Procedure mit JDBC aufrufen.
Ich habe es mit 
statement.executeUpdate(" exec test");
probiert, ich bekomme aber Fehlermeldung :ORA-00900: Ungültige SQL-Anweisung.
Man sollte angeblich Procedural Option installieren.
Kennt sich da jemand aus, was und wie das gemacht werden soll damit das funktioniert ?
 :roll:


----------



## dada (5. Mai 2004)

Jah, 
mir wurde leider hier nicht geholfen, aber die Lösung habe ich gefunden.
Vielleicht kann es für jemanden nützlich sein:
JDBC-Prozedur-Aufruf sieht so aus:
statement.executeUpdate("begin test; end;");  
So hat es funktioniert.


----------



## nollario (7. Mai 2004)

Hi!

Wenn ich Dich richtig verstehe, willst Du eine SP aufrufen, das kannst Du doch mittels CallableStatement erreichen:

Auszug aus der javadoc:

public interface CallableStatement
extends PreparedStatement

The interface used to execute SQL stored procedures. The JDBC API provides a stored procedure SQL escape syntax that allows stored procedures to be called in a standard way for all RDBMSs. This escape syntax has one form that includes a result parameter and one that does not. If used, the result parameter must be registered as an OUT parameter. The other parameters can be used for input, output or both. Parameters are referred to sequentially, by number, with the first parameter being 1.

   {?= call <procedure-name>[<arg1>,<arg2>, ...]}
   {call <procedure-name>[<arg1>,<arg2>, ...]}


IN parameter values are set using the set methods inherited from PreparedStatement. The type of all OUT parameters must be registered prior to executing the stored procedure; their values are retrieved after execution via the get methods provided here.

A CallableStatement can return one ResultSet object or multiple ResultSet objects. Multiple ResultSet objects are handled using operations inherited from Statement.

For maximum portability, a call's ResultSet objects and update counts should be processed prior to getting the values of output parameters. 

Saludos

Christian


----------

