Heim Datenbank Oracle Die gespeicherte Oracle-Prozedur ruft Java auf

Die gespeicherte Oracle-Prozedur ruft Java auf

May 07, 2023 pm 07:17 PM

In einer Oracle-Datenbank ist eine gespeicherte Prozedur ein Stück vorkompilierten PL/SQL-Codes, der zum Ausführen und Verwalten von Datenbankoperationen verwendet werden kann. Wenn jedoch bestimmte Geschäftsanforderungen erfüllt werden, erfüllt die gespeicherte Prozedur selbst möglicherweise nicht vollständig die Anforderungen, und zur Lösung des Problems muss Java-Code aufgerufen werden. In diesem Artikel stellen wir vor, wie man Java in gespeicherten Oracle-Prozeduren aufruft.

  1. Oracle JVM-Übersicht

Oracle bietet eine Funktion namens JVM (Java Virtual Machine), mit der Java in Oracle-Datenbankcode eingebettet werden kann. Nach der Aktivierung der JVM-Funktion kann Oracle Java-Quellcode ausführen und ihn als Teil einer gespeicherten Prozedur behandeln.

Wenn Sie die Oracle JVM-Funktion aktivieren, müssen Sie Java Development Kit (JDK) und Java Virtual Machine (JVM) installieren. Vor Oracle 11g mussten JDK und JVM manuell installiert werden, aber ab Oracle 11g wird JVM standardmäßig in der Oracle-Datenbank installiert. Darüber hinaus müssen einige Umgebungsvariablen festgelegt werden, um sicherzustellen, dass Oracle den Speicherort von JDK und JVM korrekt finden kann.

  1. Gespeicherte Java-Prozeduren erstellen

Um eine gespeicherte Java-Prozedur in Oracle zu erstellen, müssen Sie den entsprechenden Java-Quellcode schreiben. Im Beispielcode haben wir eine einfache Java-Klasse erstellt, die zwei Methoden enthält: eine gibt die Summe zweier Ganzzahlen zurück und die andere gibt das Produkt zweier Ganzzahlen zurück.

import oracle.jdbc.*;

import java.sql.*;

public class JavaProc {

   public static int add(int a, int b) {
      return a + b;
   }

   public static int multiply(int a, int b) {
      return a * b;
   }
}
Nach dem Login kopieren

Nachdem Sie den Java-Quellcode gespeichert haben, müssen Sie ihn mit einem Java-Compiler in eine .class-Datei kompilieren. Speichern Sie die .class-Datei nach Abschluss der Kompilierung in einem Verzeichnis auf dem Oracle-Server.

Als nächstes müssen wir eine gespeicherte Java-Prozedur in der Oracle-Datenbank erstellen. Erstellen Sie eine gespeicherte Prozedur mit der CREATE PROCEDURE-Anweisung, die den Speicherort und den Klassennamen der Java-Quellcodedatei enthält, wie unten gezeigt:

CREATE OR REPLACE PROCEDURE java_proc (
   a IN NUMBER,
   b IN NUMBER,
   op IN VARCHAR2,
   result OUT NUMBER
)
AS LANGUAGE JAVA
NAME 'JavaProc.calculate(int, int, java.lang.String, oracle.jdbc.OracleTypes.NUMBER)'
LIBRARY java_proc_jar
/
Nach dem Login kopieren

In dieser gespeicherten Prozedur definieren wir 4 Parameter: a, b und op ist der Eingabeparameter und result ist der Ausgabeparameter. a und b sind Ganzzahlen und op ist eine Zeichenfolge, die die auszuführende Operation darstellt. Ergebnis ist ein Ausgabeparameter, der zum Speichern von Berechnungsergebnissen verwendet wird.

In der gespeicherten Prozedur verweisen wir auf den Speicherort und den Klassennamen der Java-Klasse, die wir zuvor kompiliert haben: JavaProc.calculate. Bei der Angabe von Java-Klassen- und Methodennamen sollten Sie beachten, dass bei Java-Klassennamen und Methodennamen die Groß-/Kleinschreibung beachtet werden muss. Darüber hinaus geben wir auch den Datentyp des Oracle-Rückgabeparameters an: oracle.jdbc.OracleTypes.NUMBER.

Bevor Sie die gespeicherte Prozedur ausführen, müssen Sie außerdem die Java-Klasse in eine JAR-Datei packen und in die Oracle-Datenbank laden. In diesem Beispiel packen wir die Java-Klasse in eine JAR-Datei namens java_proc_jar und laden sie in die Oracle-Datenbank.

  1. Aufrufen gespeicherter Java-Prozeduren

Um eine gespeicherte Java-Prozedur aufzurufen, verwenden Sie einfach die CALL-Anweisung wie jede andere gespeicherte Prozedur. In diesem Beispiel übergeben wir zwei Ganzzahlen und eine Operationszeichenfolge und speichern das Ergebnis in den Ausgabeparametern. Der Beispielcode lautet wie folgt:

DECLARE
   a NUMBER;
   b NUMBER;
   op VARCHAR2(1);
   result NUMBER;
BEGIN
   a := 10;
   b := 20;
   op := '+';
   
   java_proc(a, b, op, result);
   
   DBMS_OUTPUT.PUT_LINE('Result: ' || result);
END;
Nach dem Login kopieren

Nach dem Aufruf der gespeicherten Prozedur verwenden wir die Anweisung DBMS_OUTPUT.PUT_LINE, um die Ergebnisse an die Konsole auszugeben.

  1. Zusammenfassung

Die Oracle JVM-Funktionalität ermöglicht den Aufruf von Java-Code innerhalb gespeicherter Prozeduren, um die Funktionalität der Oracle-Datenbank zu erweitern. Die Kombination von Java mit PL/SQL bietet eine höhere Funktionalität und mehr Leistung. Indem wir Java-Quellcode schreiben, ihn in eine JAR-Datei packen und ihn dann in eine Oracle-Datenbank laden, können wir gespeicherte Java-Prozeduren erstellen und diese bei Bedarf aufrufen, um bestimmte Geschäftsanforderungen zu lösen.

Das obige ist der detaillierte Inhalt vonDie gespeicherte Oracle-Prozedur ruft Java auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich Cursor in PL/SQL, um mehrere Datenzeilen zu verarbeiten? Wie verwende ich Cursor in PL/SQL, um mehrere Datenzeilen zu verarbeiten? Mar 13, 2025 pm 01:16 PM

In diesem Artikel werden PL/SQL Cursor für die Zeilen-für-Reihen-Datenverarbeitung erläutert. Es beschreibt die Cursor -Erklärung, Öffnung, Abholung und Schließen, Vergleich von impliziten, expliziten und Ref Cursors. Techniken zur effizienten großen Datensatzhandhabung und Verwendung für Schleifen

Was sind die häufig verwendeten Segmente in Oracle -Datenbanken? Was sind die häufig verwendeten Segmente in Oracle -Datenbanken? Mar 04, 2025 pm 06:08 PM

In diesem Artikel werden Oracle Database -Segmenttypen (Daten, Index, Rollback, Temporary), deren Leistungsimplikationen und Management untersucht. Es wird hervorgehoben, dass die Auswahl geeigneter Segmenttypen basierend auf Workload- und Datenmerkmalen für eine optimale Effizienz basiert

Was sind die Tools für Leistungstests für Oracle -Datenbanken? Was sind die Tools für Leistungstests für Oracle -Datenbanken? Mar 04, 2025 pm 06:11 PM

In diesem Artikel werden Oracle Database Performance Testing Tools untersucht. In der Auswahl des richtigen Tools basierend auf Budget, Komplexität und Funktionen wie Überwachung, Diagnose, Workload -Simulation und Berichterstattung. Der Artikel beschreibt auch effektive BO

Was sind die Oracle Database Installation Client -Tools? Was sind die Oracle Database Installation Client -Tools? Mar 04, 2025 pm 06:09 PM

In diesem Artikel werden Oracle Database -Client -Tools untersucht, die für die Interaktion mit Oracle -Datenbanken ohne vollständige Serverinstallation unerlässlich sind. Es werden häufig verwendet

Welche Standard -Tablespaces bietet die Oracle -Datenbank? Welche Standard -Tablespaces bietet die Oracle -Datenbank? Mar 04, 2025 pm 06:10 PM

In diesem Artikel werden die Standard -Tabellenspaces von Oracle (System, Sysaux, Benutzer), ihre Merkmale, Identifikationsmethoden und Leistungsauswirkungen untersucht. Es argumentiert sich gegen die Stütze auf Ausfälle und betont, wie wichtig es ist, separate Tabellensprespac zu erstellen

Wie erstelle ich Benutzer und Rollen in Oracle? Wie erstelle ich Benutzer und Rollen in Oracle? Mar 17, 2025 pm 06:41 PM

In dem Artikel wird erläutert, wie Benutzer und Rollen in Oracle mithilfe von SQL -Befehlen erstellt werden, und erörtert Best Practices für die Verwaltung von Benutzerberechtigungen, einschließlich der Verwendung von Rollen, nach dem Prinzip der geringsten Privilegien und regelmäßigen Audits.

So laden Sie die Oracle -Datenbank herunter So laden Sie die Oracle -Datenbank herunter Mar 04, 2025 pm 06:07 PM

Dieser Artikel führt Benutzer durch das Herunterladen von Oracle -Datenbank. Es beschreibt den Prozess und betont die Auswahl der Ausgabe (Express, Standard, Unternehmen), Plattformkompatibilität und Lizenzvereinbarung. Systemanforderungen und Editionsanpassung

Wie verwende ich Oracle -Datenmaskierung und -sensabschlüsselung, um sensible Daten zu schützen? Wie verwende ich Oracle -Datenmaskierung und -sensabschlüsselung, um sensible Daten zu schützen? Mar 13, 2025 pm 01:19 PM

In diesem Artikel werden die Oracle -Datenmaskierung und -Subettierung (DMS) beschrieben, eine Lösung zum Schutz sensibler Daten. Es umfasst die Identifizierung sensibler Daten, die Definition von Maskierungsregeln (Mischung, Substitution, Randomisierung), Aufbau von Arbeitsplätzen, Überwachung und Bereitstellung

See all articles