URGENTE: Problema al operar con números de Oracle
Publicado por jlopez (1 intervención) el 16/11/2005 11:06:11
Muy buenas,
Tengo un problema al traerme números de Oracle y realizar operaciones con ellos. Si tengo en una tabla 2 campos NUMBER y los consulto con un rercorset, al intentar sumarlos después me da un error de tipo:
Dim a, b, res
'HAGO LA CONSULTA DE LA BASE DE DATOS
cadConexion = "Provider=OraOLEDB.Oracle.1;Password=ademanda_owner;" _
& "Persist Security Info=False;User ID=ademanda_owner;Data Source=ademanda"
set conn = Server.CreateObject("ADODB.Connection")
conn.Open cadConexion
Set rs = Server.CreateObject("ADODB.Recordset")
'SQL = "SELECT A, B from TABLA"
rs.Open SQL, conn,3,3
a = Rs.Fields(0)
b = Rs.Fields(1)
res = a + b
Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos
He probado también conectarme con el proveedor de Microsoft en vez de el de Oracle y tampoco funciona. También he probado poner los campos INTEGER en vez de NUMBER y tampoco. De la única forma que me ha funcionada ha sido forzando los tipos con la función CLng():
res = CLng(a) + CLng(b)
Pero esto no me vale, ya que estoy migrando una aplicación con muchísimas páginas.
Espero vuestra ayuda, muchas gracias de antemano. Saludos,
Tengo un problema al traerme números de Oracle y realizar operaciones con ellos. Si tengo en una tabla 2 campos NUMBER y los consulto con un rercorset, al intentar sumarlos después me da un error de tipo:
Dim a, b, res
'HAGO LA CONSULTA DE LA BASE DE DATOS
cadConexion = "Provider=OraOLEDB.Oracle.1;Password=ademanda_owner;" _
& "Persist Security Info=False;User ID=ademanda_owner;Data Source=ademanda"
set conn = Server.CreateObject("ADODB.Connection")
conn.Open cadConexion
Set rs = Server.CreateObject("ADODB.Recordset")
'SQL = "SELECT A, B from TABLA"
rs.Open SQL, conn,3,3
a = Rs.Fields(0)
b = Rs.Fields(1)
res = a + b
Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos
He probado también conectarme con el proveedor de Microsoft en vez de el de Oracle y tampoco funciona. También he probado poner los campos INTEGER en vez de NUMBER y tampoco. De la única forma que me ha funcionada ha sido forzando los tipos con la función CLng():
res = CLng(a) + CLng(b)
Pero esto no me vale, ya que estoy migrando una aplicación con muchísimas páginas.
Espero vuestra ayuda, muchas gracias de antemano. Saludos,
Valora esta pregunta


0