Erreur lors du remplissage d'un DataReader
Citation:
Envoyé par
Laurent Jordi
Salut
Soit la PROC (Qui compile) :
Merci de ton aide...
Pour en revenir à des choses plus sérieuses :
J'ai trouvé ça :
http://msdn.microsoft.com/en-us/libr...yz(VS.71).aspx
Ce qui m'a l'air pas mal...
J'ai donc codé ça coté Oracle :
Package...
Code:
1 2 3 4 5
|
create or replace PACKAGE XXXXXXX_EU AS
TYPE T_CURSOR IS REF CURSOR;
PROCEDURE UTILISATEUR_GET (vCODE_USR VARCHAR2,cRESULTSET OUT T_CURSOR);
END XXXXXXX_EU; |
Body...
Code:
1 2 3 4 5 6 7 8 9 10
|
create or replace PACKAGE BODY XXXXXXXX_EU AS
PROCEDURE UTILISATEUR_GET (vCODE_USR VARCHAR2,cRESULTSET OUT T_CURSOR) AS
BEGIN
OPEN cresultset FOR
SELECT * FROM utilisateur WHERE code_usr = vcode_usr;
NULL;
END UTILISATEUR_GET;
END XXXXXXXX_EU; |
et côté .net :
Code:
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
|
public CL_DATA_Utilisateur(int Code_Utilisateur)
{
CHPAR = new List<string>();
OracleConnection oConn = new OracleConnection(ConfigurationManager.ConnectionStrings["EEEEEEE_CS"].ConnectionString);
oConn.Open();
OracleCommand oCmd = new OracleCommand("XXXXXXX_EU.UTILISATEUR_GET", oConn);
OracleParameter oParam;
oParam = new OracleParameter();
oParam.ParameterName = "vCODE_USR";
oParam.OracleType = OracleType.VarChar;
oParam.Size = 10;
oParam.Direction = ParameterDirection.Input;
oParam.Value = intCodeToString(Code_Utilisateur, '0', 10);
oCmd.Parameters.Add(oParam);
oParam = new OracleParameter();
oParam.ParameterName = "cRESULTSET";
oParam.OracleType = OracleType.Cursor;
oParam.Direction = ParameterDirection.Output;
oCmd.Parameters.Add(oParam);
OracleDataReader oDR = oCmd.ExecuteReader();
this.CODE_USR = (string)oDR["CODE_USR"];
oConn.Close();
} |
Le tout me renvoie à nouveau une erreur :
ORA-01036: numéro/nom de variable interdit
Line 77: oParam.Direction = ParameterDirection.Output;
Line 78: oCmd.Parameters.Add(oParam);
Line 79: OracleDataReader oDR = oCmd.ExecuteReader();
Line 80: this.CODE_USR = (string)oDR["CODE_USR"];
Line 81: oConn.Close();
Je commence à me demander si cela ne viendrait pas de problème(s) de droits...
Quelqu'un pourrait-il m'aider ?
D'avance merci
Laurent