FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Driver dbExpress para db2 falla al leer valores BCD de campos DECIMAL
Hola a todos,
Tengo el siguiente problema. Mi aplicación maneja valores de 18 dígitos de precisión con 2 decimales (definidos como campos DECIMAL(18,2)). El driver dbExpress de Delphi 2007 para DB2 graba correctamente en la Base de Datos estos valores (lo verifiqué usando el centro de control de DB2). Sin embargo, cuando los lee, ignora los dígitos decimales. Por ejemplo, digamos que grabamos el valor 10.08 ; cuando lo lee, lo lee como si fuera 1008. Por lo dicho antes, es claro que el problema no es de DB2. Ahí le llega bien el 10.08. Tampoco son las rutinas de conversión ya que con Firebird, funciona bien. Hice depuración y el problema es cuando obtiene el formato nativo BCD. Ese formato es un registro TBCD el cual tiene 3 campos : Precision, que indica los dígitos significativos; SignSpecialPlaces, que sirve para el signo y la cantidad de decimales; y Fraction, un arreglo de bytes con los valores en sí Por alguna razón, el campo Fraction llega escalado. En esas circunstancias, dado que no tengo forma de saber cuando hay, o no hay, realmente decimales, no puedo arreglar el problema usando mis propias rutinas de conversión. Así pués no se me ocurre una solución distinta a conseguir otro driver. Como referencia, estoy con Delphi 2007, el driver dbExpress es dbxdb230.dll, el cliente db2 es db2cli.dll y la versión de db2 es la 9.7. En cierta forma, ya tengo un driver; es un driver ODBC que viene con DB2; pero, como se usa un driver ODBC en dbExpress ?. No he consguído documentación y en el fondo es el mismo problema que mencioné, para el caso Firebird, en esta otra nota : http://www.clubdelphi.com/foros/showthread.php?t=68936 Alguién puede orientarme.? Agradezco cualquier ayuda |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Falla en dbExpress de Delphi 2007 con Firebird para campos BCD | rolandoj | Conexión con bases de datos | 4 | 26-03-2010 16:08:58 |
Driver PostgreSQL para dbExpress | gatosoft | PostgreSQL | 2 | 09-01-2010 03:36:20 |
Driver dbExpress para DB2 | jcporras | DB2 | 1 | 02-10-2008 14:25:52 |
Que driver recomiendan para dbExpress con Oracle10g ? | rolandoj | Conexión con bases de datos | 0 | 23-05-2008 17:58:32 |
D2006 + IB 7.5 / Campos DECIMAL(5,2) Valores absurdos | gluglu | Conexión con bases de datos | 0 | 19-01-2006 14:56:05 |
|