I am trying to open a query, which is timing out. I have tried setting the timeout property, but it doesn't seem to want to accept it.
The query takes 34 seconds to execute using MS-SQL Server Management window (SQL Server 2005), so I know I need to increase the timeout.
Current code:
Public Function retRecordSet(StrSQL)
Dim cmd ' as new ADODB.Command
Dim rs 'As New ADODB.Recordset
Set cmd = CreateObject("ADODB.Command")
Set rs = CreateObject("ADODB.Recordset")
cmd.ActiveConnection = CurrentProject.Connection
cmd.CommandText = StrSQL
cmd.CommandTimeout = 0
Set rs = cmd.Execute
Set retRecordSet = rs
End Function
I have also tried setting the timeout of the connection itself CurrentProject.Connection.CommandTimeout = 120
, but if I query the value right after this command, it remains at 30
Connection properties:
Provider=Microsoft.Access.OLEDB.10.0;Persist Security Info=False;Data Source=MyServer;Integrated Security=SSPI;Initial Catalog=MyDatabase;Data Provider=SQLOLEDB.1
Data Source Object Threading Model = 1
Multiple Results = 3
Multiple Parameter Sets = False
SQL Support = 283
Catalog Location = 1
Catalog Term = database
Catalog Usage = 15
Rowset Conversions on Command = True
Extended Properties =
Cache Authentication = True
Encrypt Password =
Persist Encrypted =
Persist Security Info = False
Asynchronous Processing = 0
Connect Timeout = 600
Protection Level =
Prompt = 4
Mode =
Location =
Locale Identifier = 1033
Impersonation Level =
Window Handle =
Data Source = MyServer
User ID =
Password =
Integrated Security = SSPI
Mask Password =
Initial Catalog = MyDatabase
Lock Owner =
Bind Flags =
General Timeout = 0
Data Provider = SQLOLEDB.1
Autocommit Isolation Levels = 4096
Unique Reshape Names = False
Not sure if you already got over the problem but I had the same issue. I'm doing it with Recordset.Open SQL_String, Connection.
And before that I just set the timeout property, not on the Recordset or Command but on the Connection object:
Connection.CommandTimeout = 0