Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 06-08-2010
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Gracias; pero en mi caso no aplica

Hola egostar,

Ante todo, muchísimas gracias por el interés.

Infortunadamente, en mi caso, esa solución no aplica porque el problema no es al momento de desplegar el dato; por tanto, los formateos usuales de Delphi no ayudan. El problema lo tengo en el momento mismo en que el driver recupera el dato desde el cliente db2.

En mi caso, ni siquiera uso el TClientDataSet. El problema ocurre desde la recuperación por parte del query. La misma propiedad AsBCD, que se supone trae el dato nativo, viene equivocada. De hecho, las rutinas de formateo de string, que trabajan a partir de ese dato "nativo", están bien.

Por cierto, hay una observación importante para tú código. Estás usando AsFloat. Los valores de doble precisión manejados por AsFloat funcionan bien; pero, mis campos son TFMTBCDField porque usamos decimal(18,2), que excede la capacidad de los double precision (o sea, no puedo obtener los valores con AsFloat). Desgraciadamente, nosotros necesitamos esa precisión y son muchísimos los campos definidos así.

Concuerdo en que el principal problema es el driver, he investigado, y sospecho que es un error introducido en la versión 2007. Me explico:

Según documentación encontrada en Internet, el error, que viene desde el principio de dbExpress, fué solucionado en la versión 2006 (no la tengo, y no puedo confirmar la veracidad de ese dato).

En la versión 2007, explican que dbExpress fué reescrito y al parecer hay una curiosidad. La versión de dbExpress que viene ahí es la 4; pero, como viene con soporte para la 3, los nombres de los drivers los dejaron con el sufijo 30, que hace pensar que es la vesrión 3.0 .

Lo importante es que si la reescribieron, es probable que hayan cometido un error y por eso el parámetro Decimal Separator haya dejado de trabajar bien.

Los reportes son todos antiguos, así que sospecho que la gente se había aburrido de los diversos problemas que daba la herramienta y cuando arreglaron ya era tarde. Eso parece confirmarlo el que en este foro muy pocos trabajan dbExpress y mucho menos db2. Por eso, es probable que no haya habido presión reciente para corregirlo.

Vale anotar que el problema lo reporté con nuestro distribuidor nacional, este a su vez me dice que lo escaló a la casa matriz; pero, me temo que, si lo arregaln, la solución llegará demasiado tarde para mi.

No sobra mencionar que también concuerdo en que el problema no está en la Base de Datos; pero, creo que si hay también una falla grande de diseño en el cliente db2 como tal, porque ese cliente debería permitir cambiar individualmente los settings regionales (Bueno, al menos yo no he encontrado nada acerca de como cambiarlos)
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 14:26:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi