Thread: Connection Timeout
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
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
On 3 June 2010 02:01, Hiroshi Inoue <inoue@tpf.co.jp> wrote:
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.:
What kind of tool(e.g. ADO, ADO.NET on Windows) are you using?
regards,
Hiroshi Inoue
' 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
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
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
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