Microsoft KB Archive/195489

= CommandTimeout does not inherit from Connection timeout =

Article ID: 195489

Article Last Modified on 7/6/2006

-

APPLIES TO


 * Microsoft Data Access Components 1.5
 * Microsoft Data Access Components 2.0
 * Microsoft Data Access Components 2.1 Service Pack 2
 * Microsoft Data Access Components 2.5
 * Microsoft Data Access Components 2.6
 * Microsoft Data Access Components 2.7
 * Microsoft Data Access Components 2.8

-



This article was previously published under Q195489



SYMPTOMS
If a Connection's CommandTimeout property is set to some value and a Command object is associated to that Connection, the Command object does not pickup the Connection's CommandTimeout setting. Instead, the Command object's CommandTimeout is set to its default setting or whatever it was set to prior to being associated with the Connection.



CAUSE
ActiveX Data Objects (ADO) does not practice inheritance. Due to the stand alone capability of its objects, a Command object can be associated with more than one Connection object. The one exception is the CursorLocation property.



RESOLUTION
Specifically set the Command object's CommandTimeout.



STATUS
This behavior is by design.



Steps to reproduce the behavior
 Start a Visual Basic Project. Set a Project Reference to the Microsoft ActiveX Data Objects Library.  Paste the following code in the Form_Load event of the default form. You need to modify the connection string so that it references a valid datasouce. Dim cnn As New ADODB.Connection Dim cnstring As String cnstring = "Provider = SQLOLEDB;" & _ "DATA SOURCE = ;" & _ "USER ID = ;" & _ "PASSWORD = ;" & _ "INITIAL CATALOG = ;" cnn.CommandTimeout = 0 cnn.Open cnstring Dim cmd As New ADODB.Command cmd.ActiveConnection = cnn Debug.Print "Timeout on Connection: " & cnn.CommandTimeout Debug.Print "Timeout on Command: " & cmd.CommandTimeout  Run the form. You should see that the timeout for the Connection object is set to zero (0) as expected, while the timeout for the Command object is 30 seconds (which is the default).

Keywords: kbdatabase kbprb KB195489

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.