IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: sais tu comment faire ca

Votants
4. Vous ne pouvez pas participer à ce sondage.
  • oui

    2 50,00%
  • non

    2 50,00%
PL/SQL Oracle Discussion :

Déclencher une méthode java


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Par défaut Déclencher une méthode java
    je veux utiliser une methode java
    mais en utilisant plsql
    je m'explique:
    en fait, je veux executer une methode ecrite en java qui permet d'envoyer des sms .
    ceci est fait dés que l'etat d'un champs,dans ma base de données, nommé "etat_ordre" change.
    les triggers permet seulement de declancher des actions seulement sur la base
    C urgent
    je sais pas comment faire

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2005
    Messages : 4
    Par défaut utilser les java stored procedures
    ===== Sous SQL*plus =====

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE OR REPLACE JAVA SOURCE NAMED "TestJVM" AS
    public class TestJVM {
      	 static public String Msg(String test){
      	   return "Hello " + test;
      	 }
       }
    /



    ===== Trouble shootings =====

    Certaines erreurs peuvent apparaître quand on charge une classe Java:

    ORA-29536: badly formed source: java.security.AccessControlException: the Permission
    (java.util.PropertyPermission java.vendor read) has not been granted by dbms_java.grant_permission
    to SchemaProtectionDomain(LA01|PolicyTableProxy(LA01))

    Depuis Oracle 8.1.5, chaque schéma doit avoir ses propres permissions pour avoir accès aux ressources du système d'exploitation tels que les fichiers, sockets ou propriétés (voir la [[http://download-uk.oracle.com/docs/c...ocumentation]]). Ici, l'erreur signifie qu'une propriété (notament 'java.vendor') n'a pas été mise en accès lecture pour le schéma LA01@ATSD.

    Le schéma SYS doit donc faire appel à la procédure ''dbms_java.grant_permission'' pour accorder cette permission.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Begin
      dbms_java.grant_permission ('LA01','java.util.PropertyPermission','*','read');
    end;
    /


    ====== Publication de la classe Java. ======


    On va créer une procédure stockée qui va mapper les paramètres d’entrées et de sortie de la méthode de la classe créée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE OR REPLACE FUNCTION testjvm(str VARCHAR2)
    RETURN VARCHAR2
    AS
    LANGUAGE JAVA NAME 'TestJVM.Msg (java.lang.String) return java.lang.String';
    tu peux ensuite insérer ta fonction dans du code PL/SQL

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Dans le trigger utilisez DBMS_JOB (< 10g) ou DBMS_SCHEDULER (>=10g) pour programmer l'exécution d'une procédure PL/SQL . Cette procédure peut appeler un programme externe écrit en java.

Discussions similaires

  1. recherche d'une méthode java
    Par garzouille dans le forum Langage
    Réponses: 4
    Dernier message: 15/05/2007, 12h11
  2. Réponses: 9
    Dernier message: 10/05/2007, 17h57
  3. Déclencher une méthode sur un timeout
    Par hugsdan dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/02/2007, 13h26
  4. Réponses: 3
    Dernier message: 15/09/2006, 14h01
  5. [applet]récupérer ds un post ce que renvoie une méthode java
    Par BouB dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/02/2006, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo