Thread: Connection Timeout

Connection Timeout

From
Mike Toews
Date:
Hi,

It doesn't appear there is a connection timeout parameter (e.g., ConnString="...;Timeout=5;..."), so I'm not sure how to throw an error quicker if the driver cannot connect to the host:port. I'm waiting about 18 seconds, which I'd like to reduce to 5 seconds to streamline my program startup if the postgres server is not available. Did I read the documentation incorrectly, or are there any plans to introduce a Timeout parameter? I'm using the latest version (08.04.0200).

There was a similar unanswered question a while ago:

-Mike

Re: Connection Timeout

From
Hiroshi Inoue
Date:
Mike Toews wrote:
> Hi,
>
> It doesn't appear there is a connection timeout parameter (e.g.,
> ConnString="...;Timeout=5;..."), so I'm not sure how to throw an error
> quicker if the driver cannot connect to the host:port. I'm waiting about
> 18 seconds, which I'd like to reduce to 5 seconds to streamline my
> program startup if the postgres server is not available. Did I read the
> documentation incorrectly, or are there any plans to introduce a Timeout
> parameter? I'm using the latest version (08.04.0200).

What kind of tool(e.g. ADO, ADO.NET on Windows) are you using?

regards,
Hiroshi Inoue

> There was a similar unanswered question a while ago:
> http://archives.postgresql.org/pgsql-odbc/2003-06/msg00025.php
>
> -Mike



Re: Connection Timeout

From
Mike Toews
Date:
On 3 June 2010 02:01, Hiroshi Inoue <inoue@tpf.co.jp> wrote:

What kind of tool(e.g. ADO, ADO.NET on Windows) are you using?

regards,
Hiroshi Inoue

I'm using the PostgreSQL Unicode ODBC driver with Python (pyodbc) and VBA (ADO). I get the same 18 second timeout with both, regardless of what I provide in the connection string. In VBA, there is a ConnectionTimeout property, but it does not seem to have any influence, e.g.:

' With added reference Microsoft ActiveX Data Objects 2.x Library
Sub test()
    Dim Conn As New ADODB.Connection
    Dim ConnStr as String
    ConnStr = "Driver={PostgreSQL Unicode};Server=123.4.5.6;Port=5432;Database=mydb;Uid=myid;Pwd=mypw;Timeout=5"
    Conn.CommandTimeout = 5
    Conn.ConnectionString = ConnStr
    Conn.Open
    Debug.Print "connected"
    Conn.Close
    Set Conn = Nothing
End Sub

It takes 15 seconds to throw an error at "Conn.Open, since the host is invalid.

pyodbc has a Connection.timeout property, but it is for query timeout.

-Mike

Re: Connection Timeout

From
Hiroshi Inoue
Date:
Mike Toews wrote:
> On 3 June 2010 02:01, Hiroshi Inoue <inoue@tpf.co.jp
> <mailto:inoue@tpf.co.jp>> wrote:
>
>
>     What kind of tool(e.g. ADO, ADO.NET <http://ADO.NET> on Windows) are
>     you using?
>
>     regards,
>     Hiroshi Inoue
>
>
> I'm using the PostgreSQL Unicode ODBC driver with Python (pyodbc) and
> VBA (ADO). I get the same 18 second timeout with both, regardless of
> what I provide in the connection string. In VBA, there is a
> ConnectionTimeout property, but it does not seem to have any influence,
> e.g.:
>
> ' With added reference Microsoft ActiveX Data Objects 2.x Library
> Sub test()
>     Dim Conn As New ADODB.Connection
>     Dim ConnStr as String
>     ConnStr = "Driver={PostgreSQL
> Unicode};Server=123.4.5.6;Port=5432;Database=mydb;Uid=myid;Pwd=mypw;Timeout=5"
>     Conn.CommandTimeout = 5

Please set the ConnectionTimeout preperty not the CommandTimeout one.
It seems to work here.

>     Conn.ConnectionString = ConnStr
>     Conn.Open
>     Debug.Print "connected"
>     Conn.Close
>     Set Conn = Nothing
> End Sub
>
> It takes 15 seconds to throw an error at "Conn.Open, since the host is
> invalid.
>
> pyodbc has a Connection.timeout property, but it is for query timeout.
>
> -Mike


Re: Connection Timeout

From
Mike Toews
Date:
On 3 June 2010 08:55, Hiroshi Inoue <inoue@tpf.co.jp> wrote:

Please set the ConnectionTimeout preperty not the CommandTimeout one.
It seems to work here.

 
Ah, of course (they almost look the same). That solution works for VB (ADO).

As for pyodbc, I can make a timeout function (e.g., http://nick.vargish.org/clues/python-tricks.html) and I'll probably ask/request on their list about a connection_timeout property.

Thanks for your help.

-Mike 

Possible Bug in ODBC win driver

From
Simeó Reig
Date:
Hello

There seems to be a bug in the ODBC win driver

When you try to burn a text field of more than 3984 characters, the driver
fails and hangs the application (VB6), but saves the data correctly. The
error also occurs connecting to postgresql access. In previous versions did
not occur


System data
-----------


Server 7.1 under freeBSD

Connection under SSL

ODBC version 8:04:200


Example table


                  Table "public.fullesxslt"
        Column         |  Type   |         Modifiers
-----------------------+---------+---------------------------
 idtipusfullaxslt      | integer | not null
 idtipusidioma         | integer | not null
 idtipusnivelllpd      | integer | not null
 fullaxslt             | text    |
 dataultimamodificacio | date    | default date('now'::text)



thanks a lot