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

Oracle Discussion :

Erreur 06550 number or type of parametres est non valide


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 115
    Par défaut Erreur 06550 number or type of parametres est non valide
    Bonjour à tous

    mon probleme est comme suite :

    j'ai une fonction Java qui retourne un integer aprés l'appel d'une fonction Oracle qui a comme type de retour un varchar2 decrivant le deroulement de la fonction et 2 parametre un d'entrée et l'autre de sortie!!!

    voici ma fonction Oracle :

    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
    30
    31
    32
     
     
    function ps_s_typeacte(p_id_acte in integer ,p_type out integer)
        return varchar2 is
     
         result    varchar2(10) := '0';
        v_sqlcode integer;
        v_sqlmess varchar2(500);
     
     
     
      begin
     
       select DISTiNCT id_type_acte_gestion into p_type
       from t_workflow_statut 
       where  id_workflow_statut like(select max(id_workflow_statut)
        from t_workflow_statut_suivi where id_acte=p_id_acte);
        dbms_output.put_line(p_type);
        v_sqlcode := SQLCODE;
        result    := v_sqlcode;
        return(result);
      exception
     
        when others then
          v_sqlcode := SQLCODE;
          v_sqlmess := SQLERRM;
          dbms_output.put_line('Error ' || to_char(v_sqlcode) || ' Message ' ||
                               v_sqlmess);
          result := v_sqlcode;
          raise_application_error(-20999, v_sqlcode || ',' || v_sqlmess);
          return(result);
      end  ps_s_typeacte;
    une methode java utilise le parametre de sortie p_type (il y a une seule occurence )

    et le retourne en Integer

    voici ma methode Java :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    public Integer getTypeActe(Integer _idActe) throws TechnicalException, FunctionalException {
         Integer id;
         String result="";
         IProcCaller caller = ProcCallerHelper.getProcCaller();
         caller.reset();
         caller.setFuncName(FUNC_GET_TYPE_ACTE);
         caller.addParamOut(Types.VARCHAR);
         caller.addParam(_idActe);
         caller.addParamOut(Types.INTEGER);
     
     
         try {
            System.err.println("dans la ps");
            //Exécution de la requette
             ResultSet rs = caller.executeQuery();
            System.err.println("apré la ps");
     
            if (rs != null) {
     
                        while (rs.next()) {
                          id=rs.getInt(3);                                                      
                        }
                     }
     
            result = caller.getString(1);
     
            //Erreurs fonctionnelles
            if (result != null) {
               if (result.equals("0001")) {
                  throw new FunctionalException(CLASS_NAME, ResourceHelper.getMessage("error.oracle.0001"));
               }
            }
     
           /* int id2 = caller.getInt(3);
               id = new Integer(id2);*/
     
            id=new Integer(10);
     
         } catch (Exception e) {
            logger.error(e.getMessage(), e);
            if (e instanceof FunctionalException) {
               throw new FunctionalException(CLASS_NAME, e.getMessage());
            } else {
               throw new TechnicalException(CLASS_NAME, e.getMessage());
            }
         }
     
         return id;
      }

    [/code]

    ça donne une erreur comme quoi le nombre iu le type des parametres n'est pas valide .

    j'ai une autre question

    Comment convertir un entier en un Integer parque là ça donne une erreur :
    et puis est ce que vous avez des remarques sur les indexe des colonne à getter dans la methode getInt ou getString ????

    Merci bq pour votre aide

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FUNCTION ps_s_typeacte(p_id_acte IN integer ,p_type out integer)    RETURN varchar2 IS

    ... la fonction retourne un varchar2 () ...

    Je ne pense pas que dans une fonction , soit accepté. Dans une procédure cela serait accepté ....


    Cdlt

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/10/2014, 12h50
  2. [Débutant] Erreur La conversion de la chaîne "" en type 'Double' n'est pas valide.
    Par dragondu83 dans le forum VB.NET
    Réponses: 5
    Dernier message: 24/07/2014, 20h06
  3. Réponses: 9
    Dernier message: 17/06/2013, 16h21
  4. Réponses: 13
    Dernier message: 02/11/2010, 16h03
  5. Réponses: 16
    Dernier message: 06/06/2007, 15h46

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