URGENTE: Problema al operar con números de Oracle

jlopez
16 de Noviembre del 2005
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,