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

Interfaces de programmation Oracle Discussion :

ORA-06502: PL/SQL: numeric or value error: character to number conversion error


Sujet :

Interfaces de programmation Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    Bonjour à toutes et tous,

    J'ai un programme en vb.net en framework 4 qui embarque les dll d'un client oracle 11 pour taper sur une base 10G.

    Je rencontre un problème sur le binding de variable : je m'explique :

    - j'ai une procédure stockée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE OR REPLACE PROCEDURE "BLABLA"(ID VARCHAR2
     ,BLABLA_ROW OUT VARCHAR2
     ,BLABLA_CODE OUT NUMBER
     ,BLABLA_MSG OUT VARCHAR2
     ,BLABLA_TEXT OUT VARCHAR2
    )
    IS
     
    .....
    - dans mon code .Net je fais un bind de blabla_row, blabla_code, blabla_msg, blabla_text toute sont en chaine (string retypée en OracleDbType.Varchar2 en 2048) sauf pour blabla_code qui est a la base un entier (integer converti en OracleDbType.Int32)

    A l'exécution je me retrouve avec l'erreur
    "ORA-06502: PL/SQL: numeric or value error: character to number conversion error"
    .

    J'ai vu qu'un number retournais un décimal alors dans le code j'ai modifié pour être en décimal aussi mais j'ai toujours la même erreur au moment ou je fais obj.ExecuteNonQuery() (obj = oraclecommand).

    Auriez vous des idées ? car je sèche....


    Merci d'avance

  2. #2
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    Testez votre procédure sous sqlplus avec les mêmes valeurs que depuis votre programme .NET, est-ce que vous avez le message d'erreur ou pas?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    en fait c'est plus vicieux. J'ai finalement pu trouver et j'espère que cela aidera certains d'entre nous :

    En fait dans les dernières version du oracle.net, il faut positionner à True la propriété BindByName du oraclecommand. Ce qui résoud mon problème. Par défaut dans la version du oracle.net qu'on avait, cela le faisait tout seul.

    Merci Oracle pour vos docs bien euh comment je dirai... pas assez renforcées...

    Merci pour le coup de main mnitu

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/12/2011, 15h08
  2. Réponses: 2
    Dernier message: 05/09/2011, 19h35
  3. Réponses: 1
    Dernier message: 18/03/2009, 17h17
  4. 'numeric or value error: number precision too large'
    Par sami117 dans le forum PL/SQL
    Réponses: 1
    Dernier message: 12/01/2009, 15h57
  5. Développement PL-SQL : Erreur ORA-06502
    Par sperronn dans le forum PL/SQL
    Réponses: 4
    Dernier message: 04/09/2008, 14h15

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