Objetos ADO y BBDD db2 (muy urgente)
Publicado por Jordi (2 intervenciones) el 07/03/2003 13:52:17
Buenos días,
estoy adaptando una aplicación realizada en VB que utiliza los objetos ADO de Visual Basic para que acceda a una base de datos DB2 (IMB3090).
El problema que me he encontrado es el siguiente.
En DB2 hay un formato de campo que es el DECIMAL que es un numérico empaquetado.
Cuando intento realizar una select a una tabla que tiene un campo de tipo DECIMAL, falla.
Me dice que el controlador ODBC no da soporte.
Esto solo ocurre cuando en la tabla hay algún campo de tipo DECIMAL.
Os poongo un ejemplo:
CREATE T_PRUEBAS(
COD_EMPRESA DECIMAL(2),
ID_CONTRATO CHAR(20));
On Error GoTo HandleError
Dim rst As ADODB.Recordset
Dim Sql As String
sql = \"Select * from T_PRUEBAS\" donde existe un campo que es de tipo decimal.
Set rst = New ADODB.Recordset
rst.Open Sql, cn_DWH (aquí falla el código).
Set rst.ActiveConnection = Nothing
rst.Close
Set rst = Nothing
HandleError:
\'tratamiento errores....
Además, tengo otra aplicación que accede a T_PRUEBAS pero con los objetos rdo y funciona correctamente.
¿Hay alguna forma de solucionar este problema?
Es como si el objeto no reconociera el tipo DECIMAL (que está empaquetado) de DB2.
¿Hay alguna \"segunda versión\" del objeto ADO disponible?
Si alguien se ha encontrado con este problema, ¿como lo ha resuelto?
Muchas gracias por vuestra colaboración.
estoy adaptando una aplicación realizada en VB que utiliza los objetos ADO de Visual Basic para que acceda a una base de datos DB2 (IMB3090).
El problema que me he encontrado es el siguiente.
En DB2 hay un formato de campo que es el DECIMAL que es un numérico empaquetado.
Cuando intento realizar una select a una tabla que tiene un campo de tipo DECIMAL, falla.
Me dice que el controlador ODBC no da soporte.
Esto solo ocurre cuando en la tabla hay algún campo de tipo DECIMAL.
Os poongo un ejemplo:
CREATE T_PRUEBAS(
COD_EMPRESA DECIMAL(2),
ID_CONTRATO CHAR(20));
On Error GoTo HandleError
Dim rst As ADODB.Recordset
Dim Sql As String
sql = \"Select * from T_PRUEBAS\" donde existe un campo que es de tipo decimal.
Set rst = New ADODB.Recordset
rst.Open Sql, cn_DWH (aquí falla el código).
Set rst.ActiveConnection = Nothing
rst.Close
Set rst = Nothing
HandleError:
\'tratamiento errores....
Además, tengo otra aplicación que accede a T_PRUEBAS pero con los objetos rdo y funciona correctamente.
¿Hay alguna forma de solucionar este problema?
Es como si el objeto no reconociera el tipo DECIMAL (que está empaquetado) de DB2.
¿Hay alguna \"segunda versión\" del objeto ADO disponible?
Si alguien se ha encontrado con este problema, ¿como lo ha resuelto?
Muchas gracias por vuestra colaboración.
Valora esta pregunta


0