[Pgsql-ayuda] Re: [Pgsql-ayuda] ONWER DE LA LISTA (además Proble ma con Delphi,ADO,ODBC)

Silvia Ortega sortega@toyotaperu.com.pe
Fri, 7 Nov 2003 08:31:57 -0500


Yo tengo ese problema cuando creo un correo nuevo, pero si contesto uno no
lo tengo
Asi que cuando necesito enviar algo, simplemente engaño al administrador,
utilizando cualquier
mensaje de la lista, reeditando el Asunto y eliminando el mensaje original.
Pero claro esta no debe ser la solución, solo temporal.
Suerte David!

----- Original Message -----
From: "Alvaro Herrera" <alvherre@dcc.uchile.cl>
To: <pgsql-ayuda@tlali.iztacala.unam.mx>
Sent: Friday, November 07, 2003 7:46 AM
Subject: [Pgsql-ayuda] ONWER DE LA LISTA (además Problema con
Delphi,ADO,ODBC)


> Alguien puede ayudar a David?  Yo en este tema no tengo idea.
>
> También sería bueno que alguno de los administradores de la lista le
> echara un vistazo a por qué el sistema está dando problemas.  No es el
> único que ha dicho que los mails quedan almacenados sin envío ...
>
> Sobre el problema en particular, lo único que puedo decir es que si tu
> lenguaje de programación se comporta de manera tan estúpida, lo más sano
> es botarlo y usar algo decente.
>
> ----- Forwarded message from David Prieto <davidp@sgth.es> -----
>
> From: "David Prieto" <davidp@sgth.es>
> To: <alvherre@dcc.uchile.cl>
> Subject: [pgsql-ayuda] Problema con Delphi,ADO,ODBC
> Date: Fri, 7 Nov 2003 09:05:21 +0100
> X-Mailer: Microsoft Outlook, Build 10.0.2627
> X-BayesSpamScore: 0
>
>
> Hola, Alvaro.
>
> Perdona que te escriba directamente, pero estoy intentando
> enviar un correo a la lista de psql-ayuda y me viene un correo diciendo
> que estoy enviando unas cabeceras extrañas y que ya el administrador
> decidirá si publica o no el mensaje, y recibiré un correo con su
> decisión. El tema es que esto fue hace dos semanas, y el administrador
> todavía no ha decidido. Envié otra copia, y el mismo resultado.
>
> Por favor, si puedes publicarlo tú, te lo agradecería. (o si
> sabes directamente responderme al problema que tengo, claro)
>
> Muchas gracias.
>
> ----------------------------
>
> Hola.
>
> Estoy accediendo a PostgreSQL desde Delphi+ADO+ODBC.
>
> Para consultas que devuelven registros uso un objeto ADOQuery, y
> para consultas tipo "insert/update", uso un objeto ADOCommand.
>
> El problema que tengo es que si hago algo como lo siguiente
> (pongo un medio-seudocódigo):
>
> begin transaction
>  objetoCommand.CommandText:="insert into..."
>  try
>    objetoCommand.Execute
>  except
>    mensaje ("Se ha producido un error al hacer el insert. Abortando la
> transaccion")
>    rollback
>    exit
>  end
>  objetoCommand.CommandText:="update.."
>  try
>    objetoCommand.Execute
>  except
>    mensaje ("Se ha producido un error al hacer el update. Abortando la
> transaccion")
>    rollback
>    exit
>  end
> end transaction
>
> (es decir, si modifico la sentencia SQL que va a ejecutar el
> objeto ADOCommand, dentro de la transacción),
>
> Entonces veo que el programa se ejecuta perfectamente. No se
> produce (al menos, el driver no informa de) ningún error, sin embargo,
> el comando "insert into." no ha insertado nada en la tabla.
>
> Es más: si la tabla tiene un campo "serial", resulta que el nº
> de secuencia SI se está incrementando, con lo que al menos veo que el
> "insert." ha llegado a PostgreSQL y lo ha ejecutado. Sin embargo, en la
> tabla no ha quedado ningún registro nuevo. Pero lo peor es que el
> "update" (la segunda sentencia SQL) sí que se ha ejecutado...
>
> He configurado PostgreSQL para que mande al log todas las
> sentencias SQL que recibe. Esto es lo que encuentro:
>
> Oct 22 00:19:11 vserver postgres[1579]: [53] LOG:  query: SELECT INVALID
> SELECT
> STATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE
> Oct 22 00:19:11 vserver postgres[1579]: [54] ERROR:  parser: parse error
> at or n
> ear "SELECT" at character 16
> Oct 22 00:19:11 vserver postgres[1579]: [55] LOG:  query: ROLLBACK
>
> Por lo que veo, "alguien" (el driver ODBC o el ADO) está
> enviando al PostgreSQL la sentencia "SELECT INVALID SELECT
> STATEMENT TO FORCE ODBC DRIVER TO UNPREPARED STATE", y luego un
> "ROLLBACK" cada vez que cambio la sentencia a ejecutar, lo que provoca
> un error, y un "rollback" de la transacción.
>
> Lo que he tenido que hacer para evitar esto es crear distintos
> objetos "ADOCommand": uno para cada sentencia que vaya a enviar al
> PostgreSQL, y asignar las sentencias SQL de cada uno ANTES de entrar en
> la transacción. Pero claro.. Ahora no estoy seguro de que en alguna
> parte de la aplicación se me haya quedado alguno sin cambiar. Por otra
> parte, esto me va a cortar muchas posibilidades, al no poder asignar la
> sentencia dentro de una función que se ejecute dentro una transacción.
> Por otra parte, como durante la ejecución no se produce ningún error, no
> puedo estar seguro de que la información que se guarda en la tabla sea
> consistente.
>
> ¿Alguna solución?
>
> Un saludo,
>   David Prieto.
>
>
>
> ----- End forwarded message -----
>
> --
> Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
> www.google.com: interfaz de línea de comando para la web.
> _______________________________________________
> Pgsql-ayuda mailing list
> Pgsql-ayuda@tlali.iztacala.unam.mx
> http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda
>