Bonjour à tous,

Je viens prendre des conseils auprès de vous en désespoir de cause.

Cela fait une semaine que je cherche la réponse sur ce forum et sur d'autre et je n'ai pas trouvé. (mais peut être ai-je mal cherché !)..;

Mon problème est le suivant :

Je cherche à récupérer le résultat d'un fonction stockée sur Oracle avec mon code C#.

Je suis bien sur au courant de l'objet command, de l'objet parameter et de l'option Command.type = Text ou StoredProcedure.

Après avoir déclaré les variables qui vont bien, je tape le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Comm.CommandType = CommandType.Text; //(ou StoredProcedure)
 
Comm.CommandText = "SELECT * FROM fc_getListeDotNet(WE,PAYS,4);";
 
OdbcDataReader dr = Comm.ExecuteReader();
Et à l'exécution, je me prend le message suivant :

System.Data.Odbc.OdbcException: ERROR [42000] [Microsoft][ODBC driver for Oracle][Oracle]ORA-00933: La commande SQL ne se termine pas correctement
Voici la signature de la fonction Oracle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
TYPE rcd is RECORD("CODE" varchar(2),"LIBS" varchar(50));
 
Type WTbl is TABLE of rcd;
 
FUNCTION fc_getListeDotNet(
		CANA_COMM				IN char,
		TYPE_LIST				IN char,
		TYPE_TRI				IN integer
	) RETURN WTbl;
Je ne comprend pas !!! D'autant plus que la même instructinon exécuté dans TOAD (équivalent de Oracle sql developpeur) fonction très bien !!

Je vous remercie par avance de votre aide !

Mallory