title: ADODB query timeout
body: <p>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.</p>
  
  <p>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.</p>
  
  <p>Current code:</p>
  
  <pre><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
  </code></pre>
  
  <p>I have also tried setting the timeout of the connection itself <code>CurrentProject.Connection.CommandTimeout = 120</code>, but if I query the value right after this command, it remains at 30</p>
  
  <p>Connection properties:</p>
  
  <blockquote>
    <p>Provider=Microsoft.Access.OLEDB.10.0;Persist Security Info=False;Data Source=MyServer;Integrated Security=SSPI;Initial Catalog=MyDatabase;Data Provider=SQLOLEDB.1</p>
  </blockquote>
  
  <pre><code>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
  </code></pre>