On 7/11/19 1:04 PM, Wayne Mell wrote:
Can someone help me with executing a postgres function from VBA? No
matter what function I call, it always times out after exactly 30
seconds. I've tried to use the statement_timeout a million different
ways and always get an error that states "Cancelling statement due to
statement timeout" in Access.
Here is the code I've been using to test:
Dim cnn As ADODB.Connection
Dim cnnCmd As ADODB.Command
Set cnn = New ADODB.Connection
cnn.ConnectionString = "Driver={PostgreSQL
Unicode(x64)};Server=postgres.office.server;Port=5432;Database=DBS;UID=postgresuser;PWD=postgrespwd;"
cnn.ConnectionTimeout = 0
cnn.Open
Set cnnCmd = New ADODB.Command
cnnCmd.CommandTimeout = 0
Set cnnCmd = cnn.Execute("select pg_sleep(50);")
There are other functions that I've tried to execute, and they all work
as long as they take less than 30 seconds to run. I just started
running pg_sleep to test.
If I log into pgAdmin with the same user name and password, and on the
same machine, then the functions will execute no matter how long they
take. It's only through VBA and the psqlODBC driver that I have the 30
second timeout limit.
Has anyone found a way to make this work? Thanks.
https://www.postgresql-archive.org/BUG-odbc-statement-timeout-gets-set-to-30000-td5992591.html
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx