hilpers


  hilpers > comp.lang.* > comp.lang.java > 02/2004

 #1  
11.02.2004, 14:09
Ole Schmidt
Hallo,

ich habe eine gespeicherte Prozedur in meiner Datenbank (Oracle), die ich
jetzt aus Java aurufen möchte.

Die Prozedur heisst to_read und hat zwei IN-Parameter.

Ich habe das folgendermassen versucht:


/**
* @jc:sql statement="call to_read({keyVal}, {intVal})"
*/
void to_read(String keyVal, String intVal);

Nun bekomme ich aber die Fehlermeldung "missing method body"

Kann mir jemand sagen wie ich das richtig mache?!

Vielen Dank für die Hilfe.

Gruss

Ole
 #2  
11.02.2004, 14:37
Andreas Schneider
Hallo Ole,

> ich habe eine gespeicherte Prozedur in meiner Datenbank (Oracle), die ich
> jetzt aus Java aurufen möchte.
>
> Die Prozedur heisst to_read und hat zwei IN-Parameter.


Dein Beispiel ist etwas knapp gehalten.

Hier hast Du ein Stück Samplecode:

Wichtig ist das Du die Parameter für den "prepareCall" mit '?'
markierst.

So etwa: cs = connection.prepareCall("{call to_read(?,?)}");

---------------------------------------------------------
CallableStatement cs;
try {
// Call a procedure with no parameters
cs = connection.prepareCall("{call myproc}");
cs.execute();

// Call a procedure with one IN parameter
cs = connection.prepareCall("{call myprocin(?)}");

// Set the value for the IN parameter
cs.setString(1, "a string");

// Execute the stored procedure
cs.execute();

// Call a procedure with one OUT parameter
cs = connection.prepareCall("{call myprocout(?)}");

// Register the type of the OUT parameter
cs.registerOutParameter(1, Types.VARCHAR);

// Execute the stored procedure and retrieve the OUT value
cs.execute();
String outParam = cs.getString(1); // OUT parameter

// Call a procedure with one IN/OUT parameter
cs = connection.prepareCall("{call myprocinout(?)}");

// Register the type of the IN/OUT parameter
cs.registerOutParameter(1, Types.VARCHAR);

// Set the value for the IN/OUT parameter
cs.setString(1, "a string");

// Execute the stored procedure and retrieve the IN/OUT value
cs.execute();
outParam = cs.getString(1); // OUT parameter
} catch (SQLException e) {
}
---------------------------------------------------------

Gruss
Andreas
 #3  
12.02.2004, 15:33
Ole Schmidt
Hallo Andreas,

super, hat geklappt!

Vielen Dank für Deine Hilfe.

Gruss

Ole
Ähnliche Themen
Access und gespeicherte Prozeduren

Hallo, bevor ich hier vielleicht noch weiter auf dem Holzweg laufe, frag ich doch mal kurz: Access 2003 Jet-Datenbank SQL-Server 2000 lassen sich gespeicherte Prozeduren mit...

Automatische Gespeicherte Prozeduren

Hallo Ng, Ich benutze VB 2005 Express und SQL Server 2005 Express ich habe ein Video gesehen, wo in der Toolbox automatische Gespeicherte Prozeduren für Delete, Insert,...

gespeicherte Prozeduren

Hallo..., wie kann ich Sp auf einen anderen SQL-Server einsetzen ohne diese wieder neu zu schreiben? Danke MfG Hans-Jürgen

gespeicherte Prozeduren

wenn ich von verschiedenen applikation auf die gleiche datenbank zugreifen will, dann sollte man sperren, update, insert delete und die @@error abfragen in gespeicherte...

Gespeicherte Prozeduren

Hallo Leute, ich verwende in meinen Datenbankapplikationen viel gespeicherte Prozeduren. Wenn mehrere User gleichzeitig auf die gleiche Prozedur zugreifen, bekomme ich aber...


Alle Zeitangaben in WEZ. Es ist jetzt 09:52 Uhr. | Privacy Policy