Oracle
 sql >> Base de données >  >> RDS >> Oracle

Erreur :le type de paramètre n'est pas pris en charge dans le code ADODB de l'ASP classique

Mise à jour : - Apparemment après quelques recherches (car je ne travaille pas avec Oracle) ADODB ne prend pas en charge adVariant (qui est 12 ) et vous devez utiliser adVarChar (qui est 200 ) à la place.

Voir A :ASP classique appelant la procédure stockée Oracle avec le pilote OraOleadb

Laissez le reste de la réponse ci-dessous car il est probablement toujours pertinent une fois ce problème résolu.

La cause de cette erreur particulière est généralement une incompatibilité de type de données une fois que l'ADODB parle au fournisseur défini par la connexion.

Il suffit de regarder la définition de la procédure dans Oracle par rapport à votre ADODB.Command objet je peux voir que le p_return paramètre semble incorrect. J'en parle dans une réponse précédente à une question similaire .

Selon mappage des types de données (une excellente ressource pour le mappage des types de données dans ADO) adInteger (qui est 3 ) correspond à Int dans Oracle pas Number . À la place, vous devez utiliser adNumeric (qui est 131 ) qui devrait corriger cette erreur particulière.

Essayez de changer cette ligne

strcmd2.Parameters.Append strCmd2.CreateParameter("p_return", 3, 2)

à

strcmd2.Parameters.Append strCmd2.CreateParameter("p_return", 131, 2)

Liens utiles