oanes Geschrieben 30. April 2002 Teilen Geschrieben 30. April 2002 Hi! Ich sitze zur Zeit an einem Projekt, an dem ich aus Java auf Stored Procedures in Oracle ( PL/SQL ) zugreifen muss. Diese StoredProcedures schreiben dann die Daten in die Tabellen. Wie funktioniert der Aufruf bzw. die Parameterübergabe? Funktionierts überhaupt generell? Vielen Dank oanes Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Denise Geschrieben 30. April 2002 Teilen Geschrieben 30. April 2002 Hallo, A Java stored procedure or function requires that the library unit of the Java classes implementing it already be present in the database. Using the Greeting library unit example in the previous section, the following call specification DDL publishes the method Greeting.Hello() as a Java stored function: CREATE FUNCTION MYHELLO(NAME VARCHAR2) RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'Greeting.Hello(java.lang.String) return java.lang.String'; The DDL maps the Java methods, parameter types and return types to the SQL counterparts. To the users, the Java stored function has the same calling syntax as any other PL/SQL stored functions. Users can call the Java stored procedures the same way they call any PL/SQL stored procedures. Figure 6-5 depicts the runtime environment of a stored function. Wenig Zeit, aber so muss es gehen. Gibt noch eine Grafik zu dem Ablauf... Gruesse Denise Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oanes Geschrieben 30. April 2002 Autor Teilen Geschrieben 30. April 2002 Ich kann mit diesem Beitrag leider nur wenig anfangen. Was sind Java Stored Procedures? Ich möchte lediglich aus Java mit JDBC eine PL/SQL - Stored Procedure aufrufen und die Parameter( z.B. Name, Vorname,...) übergeben, welche die PL/SQL - Prozedur dann in die Tabelle schreiben soll. Geht´s vielleicht auch auf Deutsch? Danke oanes :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Denise Geschrieben 30. April 2002 Teilen Geschrieben 30. April 2002 Hi, also, du weisst auch nicht was du willst. Du fragst nach: Hi! Ich sitze zur Zeit an einem Projekt, an dem ich aus Java auf Stored Procedures in Oracle ( PL/SQL ) zugreifen muss. Diese StoredProcedures schreiben dann die Daten in die Tabellen. Wie funktioniert der Aufruf bzw. die Parameterübergabe? Funktionierts überhaupt generell? Vielen Dank oanes und wenn die Antwort sich an die exakte Fragestellung sich richtet... Man kann sich nicht mit Java und Oracle ohne Englisch befassen. Tipp: www.google.com und suche dann doch mal ne deutsche Seite. Denise Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oanes Geschrieben 30. April 2002 Autor Teilen Geschrieben 30. April 2002 Ich danke dir für die Mühe. Hab aber noch ne Frage! Hab eine Tabelle in Oracle 9i erstellt: create table test( g_id number(2) primary key not null, g_pdffile blob, g_xmlfile blob); in der neben der ID eine PDF- und eine XML-Datei gespeichert werden soll. Wie kann ich denn nun die Tabelle füllen? Wie kann ich die Datei angeben? Vielen Dank oanes Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Denise Geschrieben 30. April 2002 Teilen Geschrieben 30. April 2002 Hi, eine der Moeglichkeiten hatte ich schon mal beschrieben... http://www.fachinformatiker-world.de/forums/showthread.php?s=&threadid=21544 Es ist eigentlich egal, welche dokumente... du musst dich nur entscheiden, muessen die local oder extern gespeichert werden. Gruesse Denise Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
loeti Geschrieben 6. Mai 2002 Teilen Geschrieben 6. Mai 2002 Hi ! Zu deiner ersten Frage hier ein kleiner Beispiel-Code, mit dem man aus Java heraus eine Stored Procedure starten kann. Diese erwartet einen numerischen Input-Parameter und liefert einen numerischen Wert zurück: long returnID = -1; String sql = new String ("begin myPackage.myProcedure (?, ?); end;"); CallableStatement procinout = connection.prepareCall (sql); procinout.registerOutParameter (1, Types.NUMERIC); procinout.setLong (2, master_cid); procinout.execute (); returnID = procinout.getLong (1); procinout.close(); Und hier ein Beispiel zum Füllen eines LOB Feldes per Java ("conn" ist die DB Connection): PreparedStatement pStmt = conn.prepareStatement ("update myTable " + " set content = ?" + " where id = " + idOfDocument ); FileInputStream in = new FileInputStream (sFilePath + sFileName); BufferedInputStream bIn = new BufferedInputStream (in); pStmt.setBinaryStream (1, bIn, (int)in.available()); pStmt.execute(); pStmt.close(); in.close(); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.