PRB: Info Message Not Appended to ADO Errors CollectionID: Q193865
|
The InfoMessage event of the connection object in ActiveX Data Objects (ADO) fires only when there is at least one Informational Message that resulted while establishing a connection to a database server. When opening an Asynchronous ADO connection, even if an InfoMessage event fires, no errors are appended to the Errors collection. In other words, the Errors collection is empty although there are one or more Info messages. If you open a synchronous connection, all Info Messages are appended to the Errors collection.
Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
ADO versions prior to 2.0 did not support events. In ADO 2.0, Connection
and Recordset objects have events associated with them. While establishing
a connection to most database servers, the ODBC driver returns one or more
Informational messages. These messages generally have a lower error
severity level (usually below 10).
The following sample code establishes a connection to SQL Server
Synchronously and Asynchronously using Visual Basic code. The Errors
collection shows two Info Messages for Synchronous connection while it
shows none for an Asynchronous connection.
Steps to Reproduce Behavior<STEPS TYPE = "ORDERED">
<ITEM> 1. Start standard project in Visual Basic 6.0.</ITEM>
<ITEM>2. Add a reference to the Microsoft ActiveX Data Objects 2.0 Library.</ITEM>
Dim WithEvents Cn As ADODB.Connection
Private Sub Cn_InfoMessage(ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pConnection As ADODB.Connection)
If pConnection.Errors.Count > 0 Then
For Each pError In pConnection.Errors
MsgBox pError.Description
Next
Else
MsgBox "The error collection is empty"
End If
End Sub
Private Sub Command1_Click()
Dim CnStr As String
Dim i As Integer
Set Cn = New ADODB.Connection
CnStr = "Driver={SQL Server};Server=<ServerName>;" & _
"UID=<UserName>;PWD=<UserPassword>"
Cn.Open CnStr ', , , adAsyncConnect
For i = 1 To 100
DoEvents
Next
MsgBox "Connection is established"
End Sub
Additional query words: kbADO200bug kbADO200
Keywords : kbdta kbADO200 kbADO200bug
Version : WINDOWS:2.0
Platform : WINDOWS
Issue type : kbprb
Last Reviewed: May 17, 1999