multiple-resultsets

___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ qstnhdr ___ JDBC: Rückgabe mehrerer Ergebnismengen über einen einzigen Datenbankaufruf - funktioniert nicht für Oracle ___ qstntxt ___

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?

    
___ answer8504096 ___

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.

    
___ tag123jdbc ___ JDBC (Java DataBase Connectivity) ist die Basis-API, die die Interaktion mit SQL-Datenbankservern durch Ausführen von SQL-Anweisungen mit der Programmiersprache Java ermöglicht. ___ answer34121102 ___

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 %code% 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!

    
___ tag123multiplesesultsets ___ hilf uns dieses Wiki zu bearbeiten ___ tag123oracle ___ Oracle Database ist ein Datenbankmanagementsystem mit mehreren Modellen, das von Oracle Corporation erstellt wurde. Verwenden Sie dieses Tag NICHT für andere Produkte von Oracle wie Java und MySQL. ___
2
Antworten

JDBC: Rückgabe mehrerer Ergebnismengen über einen einzigen Datenbankaufruf - funktioniert nicht für Oracle

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ü...
14.12.2011, 11:53