fields classic asp oracle vbscript asp-classic ado

oracle - fields asp classic



ASP ADO.PARAMETER clásico ASP Asignación a Oracle 10g NUMBER tipo de datos (1)

Consideraría usar el método CreateParameter() del objeto ADODB.Command para construir los parámetros correctamente. Es probable que no sea el tipo de datos que está pasando o la precisión, etc. ese es el problema, sino que faltarán propiedades del objeto Parameter no configurado (como, por ejemplo, Direction ) o las Constantes con nombre no están definidas.

Teniendo esto en cuenta para este ejemplo en particular, busqué el tipo de datos esperado Constancia nombrada para el tipo de datos NUMBER de Oracle y, de acuerdo con Carl Prothman - Mapeo de tipos de datos (un excelente recurso para mapear constantes ADO a varias fuentes de datos) , debería usar adNumeric que es 131 . Armado con esa información, construiría el parámetro como tal;

<% Dim cmd: Set cmd = Server.CreateObject("ADODB.Command") With cmd ... ''Define parameters Call .Parameter.Append(.CreateParameter("par1", adNumeric, adParamInput, 9)) ... ''Set Parameter values .Parameter("par1").Value = MYNUMBER ... End With %>

... - denota código supuesto para construir el objeto ADODB.Command .

Enlaces útiles

  • A: ADODB.Parameters error ''800a0e7c'' El objeto de parámetro está definido incorrectamente. Se proporcionó información incompleta o incoherente (en caso de que la causa sea que no tiene definidas las constantes con nombre) .
  • A: Cómo usar las variables ASP en la declaración SQL (ejemplo más completo del uso del objeto ADODB.Command ) .

Tengo una base de datos Oracle 10g con un campo definido como NÚMERO. Estoy convirtiendo un ASP clásico (vbscript) de sql en línea a parametrizado. No puedo hacer que ADO.PARAMETER se asigne a un NÚMERO. Todo lo que obtengo es "El objeto del parámetro está incorrectamente definido. Se proporcionó información incompleta o incoherente". Intenté decimal, numérico, con precisión y escala, int, bigint, varchar, tamaños y toda la combinación que se me ocurre.

Dim param Set param = Server.CreateObject("ADODB.Parameter") param.Type = ? '' adDecimal param.Precision = ? '' 38 param.NumericScale = ? '' 0 param.size = ? .Value = MYNUMBER

¿Alguien puede decirme el tipo, precisión, escala, tamaño, etc. que necesito?