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

PL/SQL Oracle Discussion :

appeler la focntion plsql avec java.


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut appeler la focntion plsql avec java.
    bonjour,
    j'ai crée ma focntion sous oracle et je veux appeler cette fonction par java.
    j'ai créer mon code en utilisant biensur collableStatement();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    			Class.forName("oracle.jdbc.OracleDriver");        
     
    	          String url = "jdbc:oracle:thin:@localhost:1521:CHEYMA";
     
    	          con = DriverManager.getConnection(url,"MOI","teima");
    	         stm = con.prepareCall("{?=call density()}");
     
     
    		        stm.execute();
    je veux afficher le résualt j'ai trouver qu'il exuxte une méthode qui s'appele registeroutparameter() mais elle m'affiche rien.
    est ce que kk1 a une idée.???

  2. #2
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Bonjour,
    C'est plutot un problème java qu'oracle non
    ceci peux peut être t'aider :
    http://java.developpez.com/faq/jdbc/...lableStatement
    Après si tu ne nous dit pas ce que fait ta fonction pl, on va pas pouvoir t'aider plus que ça ...
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    Merci pour l'orientation,
    mais dit moi stp, les paramètres que je doit mettre dans la méthode registeroutparameters() par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    registeroutparameter(1,types.float)
    pour mon code java n'accèpte types .float ou bien types.integer.
    est ce qu'il fo une bibliothèque?? a ajouter???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Class.forName("oracle.jdbc.OracleDriver");        
     
    	          String url = "jdbc:oracle:thin:@localhost:1521:CHEYMA";
     
    	          con = DriverManager.getConnection(url,"MOI","teima");
    	         stm = con.prepareCall("{?=call density()}");
    	         stm.registerOutParameter(1,Types.float);
     
     
    		        stm.execute();
    en fait ma fonction est ecrite sous oracle et permet de calculer la densité de la base. c a d le nombre de valeurs non nulles sur le total des valeurs.
    Merci

  4. #4
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    en fait ma fonction est ecrite sous oracle et permet de calculer la densité de la base. c a d le nombre de valeurs non nulles sur le total des valeurs.
    Merci
    Ouaip j'ai vu ton autre post : http://www.developpez.net/forums/sho...d.php?t=401340
    As tu déjà fait un peu de java ?
    tu fait un import java.sql.*; au debut de ton programme et tu nommes correctement ton type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    registeroutparameter("resultat",java.sql.Types.FLOAT);
    essaye au moins de repomper un code en réflechissant un minimum à ce que tu fais
    Sinon il existe pour java une javadoc qui te donne tout plein d'info de ce genre
    Ou alors tu as aussi Google
    Sinon tu as la methode : "je recherche par moi même" qui fonctionne aussi pas mal
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    bonjour,
    donner l'information ou l'aide a kk 1 ki en a besoin c pas se moquer ou donner les conseils de recherche. je les ai connu tous mais mon problème c'est le temps.
    ok
    Merci pour l'info

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    j'ai écrit une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    create or replace Function datecoherence() return date is
      x date;
     
      requete VARCHAR2(200);
     
    begin
      requete := 'Select DATEDEDEBUDEVALIDITE from CONDITIONGENERALE where numerversion = 58 ';
     
      EXECUTE IMMEDIATE
        into x;
     
      return x;
    end;
    elle me retourne toujours 16 kan je tape /
    un message d'erreur s'affiche .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Function created with compilation errors
    kk 1 a une idée ??
    je vois pas l'erreeur.

  7. #7
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Faut pas se mettre en colère
    Je ne me moquais pas, j'essai de comprendre d'où vient ton problème.
    Est ce que tu as résolu ton problème java ?
    Pour ce qui est de ta fonction, essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE OR REPLACE FUNCTION datecoherence ()
    RETURN DATE IS X DATE;
    BEGIN
    Select DATEDEDEBUDEVALIDITE INTO X from CONDITIONGENERALE where numerversion = 58; 
    RETURN X;
    END;
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    bonjour,
    Pardon mais ca marche pas, normalemen il m'affiche function created.
    je vois d'ou l'erreur.
    meme j'ai mis where owner='MOI';
    ca marche pas

  9. #9
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE OR REPLACE FUNCTION datecoherence RETURN DATE IS X DATE;
    BEGIN
    Select DATEDEDEBUDEVALIDITE INTO X from CONDITIONGENERALE where numerversion = 58; 
    RETURN X;
    END;
    ouaip désolé, si ta fonction n'a pas de paramétre en entrée, alors il faut supprimer les parentheses.
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 47
    Points
    47
    Par défaut
    bonsoir,
    je te remerci ,
    j'ai besoin d'une information a propos:
    j'ai ecrit une procedure qui permet de compter le nombre total des valeurs dans ma base.
    je cherche a ecrire une fonction qui me permet de compter le nombre de valerus dans une seule table. j'arrive.
    voila ma procedure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    SET serveroutput ON SIZE 1000000
    declare
    nom_table 			   all_tab_columns.table_name%TYPE;
    nb_valeurs_total              Number:=0;
    nb_valeur_non_null_par_col NUMBER := 0;
    nb_colonnes            NUMBER := 0;
    nb_total               Number:=0;
    nb_totals                 Number:=0;
    requete 			   VARCHAR2(200);
    BEGIN
    FOR colonnes IN (SELECT table_name,column_name
    		  FROM user_tab_columns  )     
    loop
    	-- réinitialisation des variables si on passe à une autre table
    	IF NVL(nom_table,'0') != colonnes.table_name THEN
    	   nom_table := colonnes.table_name;
    	END IF;
         requete := ' SELECT COUNT(*) FROM ' || nom_table;
         EXECUTE IMMEDIATE requete INTO nb_total;
         nb_valeurs_total := nb_valeurs_total + nb_total;
          requete := 'SELECT COUNT(*) FROM ' ||  nom_table ||' WHERE ' || colonnes.column_name || ' IS  NOT NULL';
    	   EXECUTE IMMEDIATE requete INTO nb_valeur_non_null_par_col;
              nb_totals := nb_totals + nb_valeur_non_null_par_col;
        end loop; 
     DBMS_OUTPUT.PUT_LINE(nb_valeurs_total || ' valeur (s)   dans la base');  
     
     
    END;
    /
    pardon pouvez vous m'aidez svp

Discussions similaires

  1. appel a un methode avec JAVA RMI
    Par mabrouk karim dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 29/04/2014, 10h48
  2. faire appel à un fihier HTML compile avec JAVA
    Par 01211983 dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 24/04/2009, 09h31
  3. faire appel à un fihier HTML compile avec JAVA
    Par 01211983 dans le forum Général Java
    Réponses: 1
    Dernier message: 16/05/2008, 11h19
  4. appele system avec java
    Par adel.87 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 23/01/2008, 19h28
  5. Réponses: 11
    Dernier message: 18/09/2007, 17h24

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