Opened 16 years ago
Last modified 8 years ago
#708 assigned defect
Comportamiento diferente en el acceso al campo fecha con el driver ODBC y con el driver nativo de PostGreSql.
Reported by: | Lander Ibarra Iriondo | Owned by: | Jorge |
---|---|---|---|
Priority: | lowest | Milestone: | Mantainance |
Component: | Database | Version: | 1.1.7 |
Severity: | trivial | Keywords: | |
Cc: |
Description (last modified by )
Ejecutando una query a través del driver nativo de PostGreSql y el ODBC los campos fecha tienen diferente consideración para cada
uno de ellos.
A continuación tenemos todo lo necesario para replicar el problema:
La versión de TolBase es: v1.1.7 b.13 2009-06-19 10:36:25 i686-win.
Tabla de acceso dentro de la Base de datos de PostGreSql
CREATE TABLE ven_f_perico_de_los_palotes ( dt_dia date NOT NULL, qt_venta numeric(5) )
Al acceder a las datos de la tabla a través de la conexión nativa de PostGreSql:
Real DBOpen("ODBC", "_XXX_", "_YYY_", [["postgres", "_ZZZ_", "p-postgresql"]]); Real DBExecQuery("select dt_dia, qt_venta order by dt_dia", Diario, [[ "test"]]);
Me encuentro con este error:
ERROR: [_numero_] la función 'postgres_GetAsDate' en el módulo PostgreSQL ha fallado.
Al acceder a través del driver ODBC
Real DBOpen("ODBC", "_XXX_", "_YYY_"); Real DBExecQuery("select dt_dia, qt_venta order by dt_dia", Diario, [[ "test"]]);
No tengo problema alguno
En el caso de la conexión nativa de PostGreSql he de utilizar un cast para el campo fecha de la qry y no me presenta ningún error:
Real DBOpen("ODBC", "_XXX_", "_YYY_", [["postgres", "_ZZZ_", "p-postgresql"]]); Real DBExecQuery("select cast(dt_dia as timestamp) fecha, qt_venta order by fecha", Diario, [[ "test"]]);
Un saludo Lander Ibarra Iriondo
Change History (5)
comment:1 Changed 16 years ago by
comment:2 Changed 16 years ago by
Description: | modified (diff) |
---|---|
Milestone: | → Manteinance |
Priority: | highest → lowest |
Severity: | blocker → trivial |
Status: | new → assigned |
El problema no es demasiado grave pues se soluciona poniendo el cast en la consulta, lo cual funciona sea cual sea el driver, digamos que se trata más bien de una incomodidad, una vez conocido el parche. Por este motivo he rebajado la prioridad y la severidad del ticket.
De todos modos le asigno el tema a Jorge para que lo mire cuando pueda.
Gracias por el reporte.
Ejecutando una query a través del driver nativo de PostGreSql? y el ODBC los campos fecha tienen diferente consideración para cada
uno de ellos.
A continuación tenemos todo lo necesario para replicar el problema:
La versión de TolBase es: v1.1.7 b.13 2009-06-19 10:36:25 i686-win.
Tabla de acceso dentro de la Base de datos de PostGreSql?
CREATE TABLE ven_f_ventas
(
dt_dia date NOT NULL,
qt_venta numeric(5)
)
Al acceder a las datos de la tabla a través de la conexión nativa de PostGreSql:
Real DBOpen("ODBC", "_XXX_", "_YYY_", postgres", "_ZZZ_", "p-postgresql?);
Real DBExecQuery("select dt_dia, qt_venta from ven_f_ventas order by dt_dia", Diario, "test"?);
Me encuentro con este error: ERROR: [_numero_] la función 'postgres_GetAsDate' en el módulo PostgreSQL ha fallado.
Al acceder a través del driver ODBC
Real DBOpen("ODBC", "_XXX_", "_YYY_");
Real DBExecQuery("select dt_dia, qt_venta from ven_f_ventas order by dt_dia", Diario, "test"?);
No tengo problema alguno
En el caso de la conexión nativa de PostGreSql? he de utilizar un cast para el campo fecha de la qry y no me presenta ningún error:
Real DBOpen("ODBC", "_XXX_", "_YYY_", postgres", "_ZZZ_", "p-postgresql?);
Real DBExecQuery("select cast(dt_dia as timestamp) as fecha, qt_venta from ven_f_ventas order by fecha", Diario, "test"?);
Un saludo Lander Ibarra Iriondo