Bonjour,

J'essaye de récupérer un résultat d'une procédure stockée sur ma base oracle via ADO et l'exemple de classe donné ici :
http://www.codeproject.com/database/CAAAdoClass1.asp

Mais j'obtiens (sur la commande Execute() donc avec la connexion à la base OK) le message d'erreur suivant :
"ORA-24328 : Illegal attribute value".

Ma procédure fait un RETURN NUMBER tout simple sans autres traitements.

Voici le code :

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
 
CADODatabase* pAdoDb = new CADODatabase();
CString strConnection = _T("");
 
strConnection = _T("Provider=MSDASQL.1;Persist Security Info=False;User ID=MON_USER;Data Source=SupervReport;Password=monpass;");
 
pAdoDb->SetConnectionString(strConnection);
 
 
if(pAdoDb->Open())
{
 
CADOCommand* pAdoCommand = new CADOCommand(pAdoDb,"MaFonction");
CADOParameter pParamRetVal(CADORecordset::typeInteger, sizeof(int), CADOParameter::paramReturnValue); 
 
pAdoCommand->AddParameter(&pParamRetVal);
 
CADORecordset* pRecordSet = new CADORecordset(pAdoDb);
 
if(pRecordSet->Execute(pAdoCommand)) // L'erreur se déclanche ICI !
{
...
}
 
}

Avez vous une idée sur la chose ?
Merci de votre aide.