sql >> Databasteknik >  >> RDS >> Oracle

Fel:Parametertyp stöds inte i ADODB-koden för klassisk ASP

Uppdatering: - Tydligen efter lite research (eftersom jag inte jobbar med Oracle) ADODB stöder inte adVariant (vilket är 12 ) och du bör använda adVarChar (vilket är 200 ) istället.

Se A:Classic ASP calling Oracle stored procedure with OraOleadb Driver

Lämna resten av svaret nedan eftersom det förmodligen fortfarande är relevant när det här problemet är åtgärdat.

Orsaken är att det specifika felet vanligtvis inte matchar datatypen när ADODB pratar med leverantören som definieras av anslutningen.

Titta bara på procedurdefinitionen i Oracle i jämförelse med din ADODB.Command objekt Jag kan se att p_return parametern verkar vara felaktig. Jag pratar om detta i ett tidigare svar till en liknande fråga .

Enligt Data Type Mapping (en utmärkt resurs för datatypmappning i ADO) adInteger (vilket är 3 ) mappar till Int i Oracle inte Number . Istället bör du använda adNumeric (vilket är 131 ) som borde fixa det specifika felet.

Försök att ändra den här raden

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

till

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

Användbara länkar




  1. Hur lång är SHA256-hash?

  2. MySQL anser att "е" och "ё" är lika, hur ställer jag in den för att betrakta dem som olika?

  3. Syntax för RETURNING-satsen i Mysql PDO

  4. uppdatera tabellrader i postgres med hjälp av subquery