Hi I developped an interface which aims to synchronize Exchange items with an SQL Server database. This is a VB .Net console application that uses ADO 2.5 (Microsoft ActiveX Data Objects 2.5 Library) and CDO (Microsoft CDO For Exchange 2000 Library). Exchange items updates are done thanks to an ADO dynamic cursor on a DAV query. The only testing environment I can use is a Windows 2003 Server with Exchange 2003, whereas the final server is Windows 2000 Server with Exchange 2000. The result is that my app works fine on WS2003 but it crashes on WS2000, when trying to fetch ADO recordset (code bellow). I 've been careful not to use WS2003 or Exchange 2003 libs, but it seems that this wasn't sufficient to ensure compatibility. Can I get this code to work by updating WS2000 or changing ADO references or am I totally wrong ? ... Thanx a lot. Module Module1 Sub Main() Dim lcnCnx As ADODB.Connection Dim lrsClientItems As New ADODB.Recordset Dim lsSourceQuery As String Dim lsFolder As String = InputBox("Folder URL?", , "http://localhost/public/";) Try lcnCnx = GetExchangeConnection(lsFolder) lsSourceQuery = "SELECT ""DAV:displayname""" _ & " FROM scope('shallow traversal of """ _ & lsFolder _ & """')" lrsClientItems.Open( _ lsSourceQuery, _ lcnCnx, _ ADODB.CursorTypeEnum.adOpenDynamic, _ ADODB.LockTypeEnum.adLockUnspecified, _ ADODB.CommandTypeEnum.adCmdUnspecified) While Not lrsClientItems.EOF System.Console.WriteLine(lrsClientItems("DAV:displayname").Value) lrsClientItems.MoveNext() 'Crashes on Windows 2000 Server with Exchange 2000 End While Catch ex As Exception System.Console.WriteLine("ERROR: " & ex.Message) End Try System.Console.ReadLine() End Sub Private Function GetExchangeConnection(ByVal psUrl As String) As ADODB.Connection Dim lcnConnection As New ADODB.Connection lcnConnection.Provider = "ExOLEDB.DataSource" lcnConnection.Open(psUrl) GetExchangeConnection = lcnConnection End Function End Module