Maison base de données Oracle La procédure stockée Oracle appelle Java

La procédure stockée Oracle appelle Java

May 07, 2023 pm 07:17 PM

Dans la base de données Oracle, une procédure stockée est un morceau de code PL/SQL précompilé qui peut être utilisé pour effectuer et gérer des opérations de base de données. Cependant, lorsqu'il s'agit de certaines exigences métier spécifiques, la procédure stockée elle-même peut ne pas répondre entièrement aux exigences et le code Java doit être appelé pour résoudre le problème. Dans cet article, nous présenterons comment appeler Java dans les procédures stockées Oracle.

  1. Présentation d'Oracle JVM

Oracle fournit une fonctionnalité appelée JVM (Java Virtual Machine) qui permet d'intégrer du code Java dans les bases de données Oracle. Après avoir activé la fonctionnalité JVM, Oracle pourra exécuter le code source Java et le traiter comme faisant partie d'une procédure stockée.

Lors de l'activation de la fonction Oracle JVM, le kit de développement Java (JDK) et la machine virtuelle Java (JVM) doivent être installés. Avant Oracle 11g, JDK et JVM devaient être installés manuellement, mais à partir d'Oracle 11g, JVM sera installé par défaut dans la base de données Oracle. De plus, certaines variables d'environnement doivent être définies pour garantir qu'Oracle puisse trouver correctement l'emplacement du JDK et de la JVM.

  1. Créer des procédures stockées Java

Pour créer une procédure stockée Java dans Oracle, vous devez écrire le code source Java correspondant. Dans l'exemple de code, nous avons créé une classe Java simple qui contient deux méthodes : l'une renvoie la somme de deux entiers et l'autre renvoie le produit de deux entiers.

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;
   }
}
Copier après la connexion

Après avoir enregistré le code source Java, vous devez utiliser un compilateur Java pour le compiler dans un fichier .class. Une fois la compilation terminée, enregistrez le fichier .class dans un répertoire du serveur Oracle.

Ensuite, nous devons créer une procédure stockée Java dans la base de données Oracle. Créez une procédure stockée à l'aide de l'instruction CREATE PROCEDURE, qui inclut l'emplacement et le nom de classe du fichier de code source Java, comme indiqué ci-dessous :

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
/
Copier après la connexion

Dans cette procédure stockée, nous définissons 4 paramètres : a, b et op sont des paramètres d'entrée, le résultat est le paramètre de sortie. a et b sont des entiers et op est une chaîne représentant l'opération à effectuer. result est un paramètre de sortie utilisé pour stocker les résultats du calcul.

Dans la procédure stockée, nous avons référencé l'emplacement et le nom de la classe Java que nous avons compilée précédemment : JavaProc.calculate. Lorsque vous spécifiez des noms de classe et de méthode Java, vous devez noter que les noms de classe et de méthode Java sont sensibles à la casse. De plus, nous spécifions également le type de données du paramètre de retour Oracle : oracle.jdbc.OracleTypes.NUMBER.

Avant d'exécuter la procédure stockée, vous devez également empaqueter la classe Java dans un fichier JAR et la charger dans la base de données Oracle. Dans cet exemple, nous empaquetons la classe Java dans un fichier JAR nommé java_proc_jar et le chargeons dans la base de données Oracle.

  1. Appel de procédures stockées Java

Pour appeler une procédure stockée Java, utilisez simplement l'instruction CALL comme n'importe quelle autre procédure stockée. Dans cet exemple, nous passerons deux entiers et une chaîne d'opération et stockerons le résultat dans les paramètres de sortie. L'exemple de code est le suivant :

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;
Copier après la connexion

Après avoir appelé la procédure stockée, nous utilisons l'instruction DBMS_OUTPUT.PUT_LINE pour afficher les résultats sur la console.

  1. Résumé

La fonctionnalité Oracle JVM permet d'appeler du code Java dans des procédures stockées afin d'étendre les capacités de la base de données Oracle. La combinaison de Java avec PL/SQL offre des fonctionnalités de niveau supérieur et une plus grande puissance. En écrivant du code source Java et en le regroupant dans un fichier JAR, puis en le chargeant dans une base de données Oracle, nous pouvons créer des procédures stockées Java et les appeler si nécessaire pour résoudre des besoins commerciaux spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer des utilisateurs et des rôles dans Oracle? Comment créer des utilisateurs et des rôles dans Oracle? Mar 17, 2025 pm 06:41 PM

L'article explique comment créer des utilisateurs et des rôles dans Oracle à l'aide de commandes SQL, et discute des meilleures pratiques pour gérer les autorisations des utilisateurs, y compris l'utilisation des rôles, en suivant le principe des moindres privilèges et des audits réguliers.

Comment utiliser Oracle Data Masking and Unsetting pour protéger les données sensibles? Comment utiliser Oracle Data Masking and Unsetting pour protéger les données sensibles? Mar 13, 2025 pm 01:19 PM

Cet article détaille le masquage et le sous-ensemble des données Oracle (DMS), une solution pour protéger les données sensibles. Il couvre l'identification des données sensibles, la définition des règles de masquage (mélange, substitution, randomisation), mise en place de travaux, surveillance et déploiement

Comment utiliser les curseurs dans PL / SQL pour traiter plusieurs lignes de données? Comment utiliser les curseurs dans PL / SQL pour traiter plusieurs lignes de données? Mar 13, 2025 pm 01:16 PM

Cet article explique les curseurs PL / SQL pour le traitement des données Row-by Row. Il détaille la déclaration, l'ouverture, la récupération et la fermeture du curseur, comparant les curses implicites, explicites et ref. Techniques pour une manipulation efficace des ensembles de données importants et une utilisation pour des boucles

Comment effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt? Comment effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt? Mar 17, 2025 pm 06:39 PM

L'article traite des méthodes pour effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt en utilisant RMAN, les meilleures pratiques pour réduire les temps d'arrêt, assurer la cohérence des données et surveiller les progrès de la sauvegarde.

Comment configurer le chiffrement dans Oracle à l'aide du chiffrement transparent des données (TDE)? Comment configurer le chiffrement dans Oracle à l'aide du chiffrement transparent des données (TDE)? Mar 17, 2025 pm 06:43 PM

L'article décrit les étapes pour configurer le chiffrement transparent des données (TDE) dans Oracle, détaillant la création du portefeuille, permettant le TDE et le chiffrement des données à différents niveaux. Il discute également des avantages de TDE comme la protection et la conformité des données, et comment Veri

Comment implémenter des politiques de sécurité dans Oracle Database à l'aide de la base de données privée virtuelle (VPD)? Comment implémenter des politiques de sécurité dans Oracle Database à l'aide de la base de données privée virtuelle (VPD)? Mar 13, 2025 pm 01:18 PM

Cet article détaille la mise en œuvre des politiques de sécurité des bases de données Oracle à l'aide de bases de données privées virtuelles (VPD). Il explique la création et la gestion des politiques VPD via des fonctions qui filtrent les données basées sur le contexte de l'utilisateur, mettant en évidence les meilleures pratiques comme le moins P

Comment utiliser le référentiel de charge de travail automatique (AWR) et le moniteur de diagnostic de base de données automatique (ADDM) dans Oracle? Comment utiliser le référentiel de charge de travail automatique (AWR) et le moniteur de diagnostic de base de données automatique (ADDM) dans Oracle? Mar 17, 2025 pm 06:44 PM

L'article explique comment utiliser AWR et ADDM d'Oracle pour l'optimisation des performances de la base de données. Il détaille la génération et l'analyse des rapports AWR, et l'utilisation d'ADDM pour identifier et résoudre les goulots d'étranglement des performances.

Comment utiliser la technologie Flashback pour se remettre de la corruption logique des données? Comment utiliser la technologie Flashback pour se remettre de la corruption logique des données? Mar 14, 2025 pm 05:43 PM

L'article discute de l'utilisation de la technologie Flashback d'Oracle pour se remettre de la corruption logique des données, des étapes de détail de la mise en œuvre et de la garantie de l'intégrité des données après la récupération.

See all articles