sql >> Base de Datos >  >> RDS >> Oracle

Error:el tipo de parámetro no es compatible con el código ADODB de ASP clásico

Actualización: - Aparentemente, después de investigar un poco (ya que no trabajo con Oracle) ADODB no es compatible con adVariant (que es 12 ) y deberías usar adVarChar (que es 200 ) en su lugar.

Consulte A:ASP clásico llamando al procedimiento almacenado de Oracle con el controlador OraOleadb

Dejando el resto de la respuesta a continuación, ya que probablemente siga siendo relevante una vez que se solucione este problema.

La causa de ese error en particular suele ser una falta de coincidencia del tipo de datos una vez que ADODB se comunica con el proveedor definido por la conexión.

Solo mirando la definición del procedimiento en Oracle en comparación con su ADODB.Command objeto puedo ver que el p_return el parámetro parece ser incorrecto. Hablo de esto en una respuesta anterior a una pregunta similar .

Según Asignación de tipos de datos (un gran recurso para la asignación de tipos de datos en ADO) adInteger (que es 3 ) se asigna a Int en Oracle no Number . En su lugar, debe usar adNumeric (que es 131 ) que debería corregir ese error en particular.

Intenta cambiar esta línea

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

a

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

Enlaces útiles