Microsoft updates break spreadsheet driver (and a possible workaround)

Tuesday 17 October 2017 @ 10:26 pm

Two customers contacted me in the past few days about the following Microsoft updates.

  • KB4041676 for Windows 10
  • KB4041681 for Windows 7/8

These updates broke reports that use the ‘classic’ Microsoft JET drivers to read ‘classic’ xls spreadsheets. ‘Classic’ here is a euphemism for ‘ancient but still working’, like my workhorse Office XP from 2002.

Today I got a similar error when I tried to help a customer import a spreadsheet(xls) into an MS Access database (mdb). MS Access failed with the following error:

“The wizard is unable to access information in the file….”

So I tried to read the same spreadsheet from Crystal Reports using the DAO connection method, and got this error:

“Unexpected error from external database driver (1)”

I checked and found that KB4041681 had been installed on that workstation.

The official Microsoft temporary solution is for us to use a different “OLEDB provider” in place of JET, but that only works if you can use OLEDB and/or  choose your provider.

So I did some research and found a post from 2008 where someone was getting this error message. They asked why they could only read xls files when those files were already open in Excel. If the file wasn’t open in Excel he would get the same errors I mentioned above.  I figured it couldn’t hurt to do a quick test so I opened the file in Excel and then tried to read it from MS Access.  It worked for MS Access imports and also worked for Crystal Report connections. Both would work as long as the xls file was open in Excel. Both would fail with the errors above when the file wasn’t already open in Excel.

This isn’t a great solution, and hopefully Microsoft will fix the issue in the near future. But in the meantime this workaround might just help someone meet a deadline. If you try this, let me know if it works in your environment.

Update 10/19/2017

One of my readers pointed me to the dll that causes this error and how to roll back just that one dll.  I now see that this is one of several solutions found in the MSDN discussions.  See the links below for more information:

MSDN blog article: Unexpected error from external database driver

MSDN forum thread: ODBC Excel Driver Stopped Working…

One Response to 'Microsoft updates break spreadsheet driver (and a possible workaround)'

  1. Daryl Armstrong - October 25th, 2017 at 2:07 pm

    Here is what we did:

    1. Install Access 16.0 Drivers
    2. Install Update back to PC
    3. Open Excel File from Report save it as a new .xlsx file.
    4. Open report and Update Connection to New Excel File using Access 16.0 Driver and Database type “Excel” (No Credentials Required)
    5. Save Report with New Name (Users without access driver can’t access the new report, so both have to stay)

    1. Install Access Driver to Users PC
    2. Re-Install Updates
    3. Launch new Report attached to Access Driver (they will not be able to run old report because it looks for Excel Jet Engine

Leave a Reply

Recrystallize Pro

Crystal Reports Server