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