RE: [Pgsql-ayuda] idle in transaction... Thnks Jorge Zurita

From: Leonardo Boet Sánchez <boet(at)gtm(dot)tel(dot)etecsa(dot)cu>
To: <pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx>
Subject: RE: [Pgsql-ayuda] idle in transaction... Thnks Jorge Zurita
Date: 2003-10-28 14:04:10
Message-ID: 910A9DA692201B4FABD1B8B7D26B8E1104E8AF@servergt.gtm.tel.etecsa.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Por lo que veo en este código no está mal pero debe faltar algo, por ejemplo abrir la conexión no lo veo por ningún lado. Pero si puedes trabajar es porque en algún lugar la haz abierto (utilizando la función que implementaste) y no mandaste el código de esto.

Ahora debes cerciorarte que por cada ejecución de la función creaconexion() debes tener un conex.close

O sea debes garantizar que cada vez que abras la conexión la cierres. Mira que si te dá error debes tener en cuenta cerrar la conexión.

Si por ejemplo el programa da un error no interceptable y no le das tratamiento a esto la conexión se quedará abierta. Y si abres la conexión (o sea tienes una conexión abierta) y vuelves a abrir otra conexión abrás abierto 2.

Para que estés seguro si la conexión está abierta (esto es dentro del programa, no incluye si el programa se va, por error, sin cerrar la conexión) hay una propiedad llamada State que te devuelve si la conexión está abierta o cerrada, en realida no sé como tienes estructurado tu sistema pero esta propiedad te ayudará, es válida para los recorsets también.

Leonardo Boet Sanchez
Especialista en Analisis de Sistemas
e-mail: boet(at)gtm(dot)tel(dot)etecsa(dot)cu
ETECSA. Gerencia Guantánamo
Tel. 381797
381018 ext 4208

-----Mensaje original-----
De: Mauricio E. Pastorini Torres [mailto:m_pastorini(at)elgolfo(dot)cl]
Enviado el: Monday, October 27, 2003 03:08 PM
Para: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Asunto: [Pgsql-ayuda] idle in transaction... Thnks Jorge Zurita

Jorge, gracias por contestar tan rápidamente y debo acotar que tu
acotación respecto a mi programa es correcta... quizas si puedes revisar
mi código te lo agradecería mucho.
Mira al cargar la forma llamo esta función que crea la conexión con el
postgres... :

Public conex As ADODB.Connection
Public Function creaconexion()
Dim connectString As String

Set conex = Nothing
Err.Clear
On Error GoTo 0

connectString = "SERVER=" + SERVER + ";" + _
"UID=" + USER + ";" + _
"PWD=" + Pwd + ";" + _
"DSN=" + Dsn + ";" + _
"DATABASE=" + Base + "; " + _
"LANGUAGE=us_english;" + _
"AutoTranslate=No"

Set conex = New ADODB.Connection

With conex
.ConnectionString = connectString
.ConnectionTimeout = 10
.CursorLocation = adUseClient
.Open
End With
conex.CommandTimeout = 20
end function

La que pienso no debería tener problema, sin embargo para ingresar datos
uso la siguiente función:...

Dim ADORs As ADODB.Recordset
Dim cmd_sql As ADODB.Command
*** creaconexion()
conex.BeginTrans
Set cmd_sql = New ADODB.Command
With cmd_sql
Set .ActiveConnection = conex
.CommandText = consulta ' insert into tabla values....
.CommandType = adCmdText
End With
On Error GoTo Err_Execute
Set ADORs = New ADODB.Recordset
'Resume Next
Set ADORs = cmd_sql.Execute(afectadas)
conex.CommitTrans

puede haber algún error por este lado?????

te agradecería que me dieras tu opinion...

Mauricio.
_______________________________________________
Pgsql-ayuda mailing list
Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Patricio Muñoz 2003-10-28 14:58:19 [Pgsql-ayuda] Tipo de Dato
Previous Message Alvaro Herrera 2003-10-28 13:02:31 Re: [Pgsql-ayuda] Insert