Dieser Beitrag zeigte die Ausführung mehrerer Abfragen in einem einzelnen JDBC-Aufruf (gegen eine SQL Server-Datenbank) ) indem Sie sie mit Semikolons trennen. Als ich versuchte, dasselbe mit Oracle 10G zu machen, stützte sich ein Fehler "ungültiges Zeichen":
%Vor%Was mache ich falsch?
Sie tun nichts falsches (außer anzunehmen, dass alle DBMS gleich funktionieren)
Oracle (und sein JDBC-Treiber) unterstützt dies einfach nicht.
Sie müssen jeden SELECT einzeln ausführen.
Übrigens: Das ist einer der Gründe, warum einige SQL-Injection-Angriffe nicht mit Orace funktionieren - besonders nicht mit den berühmten " kleinen Bobby-Tischen "Karikatur.
Es ist möglich, in einem einzigen Aufruf mehrere Ergebnismengen von Oracle in JDBC zurückzuversetzen. Es gibt ein paar Möglichkeiten, dies zu tun; ein guter Beitrag bei Oracle-Base zeigt, wie .
Der von mir verwendete Mechanismus besteht darin, in einer aufrufbaren Anweisung einen anonymen Block zu erstellen und dann für jede Ergebnismenge einen SYS_REFCURSOR
als Ausgabeparameter zu binden.
Hier ist ein Code, der genau das tut. Es ist faul für die Fehlerbehandlung, aber es bekommt die Idee über:
%Vor%Ich hoffe, dass dir das hilft!
Tags und Links java oracle jdbc multiple-resultsets