none
ADODB.Recordset Filter property breaks after april Windows updates

    Question

  • I have posted this in VS Section, but here is better place for my question, i think (apologize for repost).

    Unfortunately didn't find any section about legacy ADO, or general data development section.

    After installing april Windows updates (Windows 10 Update KB4015217 or Windows 7 update KB4015549/KB4015546), unable to filter recordset using array of bookmarks, there's an exception inside msado15.dll.

    For example, this code on C#:

    var rs = new ADODB.Recordset();
    rs.Fields.Append("Id",DataTypeEnum.adInteger);
    rs.Open();
    
    for (int i = 0; i < 9; i++) { 
      rs.AddNew();   
      rs.Fields[0].Value = i;
    }
    
    var bookmarks = new object[2];
    rs.MoveFirst(); rs.Find("Id=3");
    bookmarks[0] = rs.Bookmark;
    rs.MoveFirst(); rs.Find("Id=8");
    bookmarks[1] = rs.Bookmark;
    
    rs.Filter = bookmarks;

    produces Access Violation (0xC0000005) exception in msado15.dll, on the line when setting rs.Filter to bookmarks array.

    Callstack:

    >   msado15.dll!ExtractArray()  + 0x5cd bytes    
         msado15.dll!ExtractBookmarkArray()  + 0xa1 bytes    
         msado15.dll!CRecordset::SetFilter()  + 0x6f0 bytes    
         msado15.dll!CRecordset::put_Filter()  + 0x2e8 bytes    
         [Managed to Native Transition]    
         ConsoleApplication2.exe!ConsoleApplication2.Program.Main(string[] args = {string[0]}) Line 31 + 0xc bytes    C
         ...

    Is there any workaround, or update to fix this?

    Thank you in advance.



    Tuesday, April 18, 2017 10:20 AM

All replies

  • Hi Damir Ismagilov,

    Thanks for posting here.

    This forum discusses and asks questions about data platform development using ADO.NET DataSet and LINQ to DataSet. Since your issue is more related legacy ADO, I would suggest that you could post your issue on related forum.

    Best regards,

    Cole Wu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Wednesday, April 19, 2017 9:52 AM
    Moderator
  • But i didn't find that "related forum". There's no forum about "ADO", or "WDAC", or "General Data Access Questions" or similar..
    Wednesday, April 19, 2017 9:58 AM
  • I'm also experiencing an access violation in msado15.dll since installing the April rollup. In my case it's in a legacy VB6 app. Blogged here:

    April 2017 Monthly Rollup Breaks VB6 App
    http://www.mcbsys.com/blog/2017/04/april-2017-monthly-rollup-breaks-vb6-app/


    • Edited by mcbsys Wednesday, April 19, 2017 2:24 PM
    Wednesday, April 19, 2017 2:24 PM
  • Although a temporary fix, and it doesn't require the rollback of April Security Rollups,  we were able to replace and re-register the previous version of the msado15.dll.  The version we replaced was 6.0.6002.19749; the previous version was 6.0.6002.18644.  Our affected VB6 apps were up and running in short order.  This of course is only good until the next rollup patches are applied or Microsoft releases a fix.
    Monday, April 24, 2017 7:27 PM