- DAO Connection to Excel fails.
- ODBC connection to MS Excel fails.
- Same report used to refresh successfully few days ago.
- When refreshing a report in Crystal Reports based off a MS Excel spreadsheet, it fails with the error:
Details: DAO Error Code: 0xccb
Description: Unexpected error from external database driver (1)
- In SAP BI LaunchPad, when refreshing a report based off Excel, it prompts for the user name and password.
- On the SAP BI Server or in Crystal Reports Server, the scheduled reports based on and ODBC connection to Excel, or based on Excel data source directly are failing with the same error.
SAP Crystal Reports 2008
SAP Crystal Reports 2011
SAP Crystal Reports 2013
SAP Crystal Reports 2016
- SAP BusinessObjects Enterprise XI 3.1
- SAP BusinessObjects Business Intelligence Platform 4.0
- SAP BusinessObjects Business Intelligence Platform 4.1
- SAP BusinessObjects Business Intelligence Platform 4.2
SAP Crystal Server 2011
- SAP Crystal Server 2013
- SAP Crystal Server 2016
- MS Windows 7
- MS Windows 8
- MS Windows 10
- MS Windows Server 2012
Reproducing the Issue
- In Crystal Reports:
- In Crystal Reports, open a report based off a MS Excel spreadsheet.
- When attempting to refresh the report, it fails with the error: "Logon Failed. Unexpected error from external database driver (1)"
- In SAP BI LaunchPad, or Central Management Console (CMC):
- View or schedule a report based off MS Excel in SAP BI LaunchPad
- It fails with the error: "Logon Failed. Unexpected error from external database driver (1)"
- Microsoft Windows Security updates caused the MS Excel connectivity issue for any application using the Jet Engine 4.0
- In other words, it is not a Crystal Reports product defect, but an issue with the Microsoft JET Database Engine cause by a Microsoft Security update.
- For reference, and more details, see the Microsoft blog on the Microsoft JET Database Engine connectivity issue
Microsoft released a fix for the problem: https://blogs.msdn.microsoft.com/dataaccesstechnologies/2017/10/18/unexpected-error-from-external-database-driver-1-microsoft-jet-database-engine-after-applying-october-security-updates/
We still recommend to review the solutions below, because The Microsoft Jet Engine 4.0 is deprecated and it is no recommended to be use to connect to MS Excel.
- The best recommended solution provided by Microsoft is to use the latest Microsoft Acess Database Engine OLE DB Provider to connect to MS Excel.
- Download the latest Microsoft Access Database Engine 2016 Redistributable from Microsoft.
- 1.1 Go to the following Microsoft Access Database Engine 2016 Redistributable download link:
- 1.2 On the Microsoft Access Database Engine 2016 Redistributable page, click "Download"
- 1.3 In "Choose the download you want" select "AccessDatabaseEngine.exe", and click "Next" to start the download.
- 3.1 In Crystal Reports designer, open the report based off the MS Excel spreadsheet.
- 3.2 Under the menu "Database", select "Set Datasource Location…"
- 3.3 In "Set Datasource Location" window, under "Replace with:" expand "Create New Connection"
- 3.4 Under "Create New Connection", double click on "OLE DB (ADO)"
- 3.5 In "OLE DB (ADO)" window, select the OLE DB Provider: "Microsoft Office 16.0 Access Database Engine OLEDB Provider", and click "Next"
- 3.6 In the "Connection Information" screen, fill the information for the following options:
- Data Source: Select the path to your MS Excel spreadsheet.
- Office Database Type: Select "Excel"
- 3.7 Then click "Finish" to create the connection.
- 3.8 Back the "Set Datasource Location" window, select the OLE DB Connection to the MS Excel spreadsheet you just created
under "Replace with", and click the button "Update"
- 3.9 Once the connection is updated, click "Close"
Now, the report will refresh successfully in Crystal Reports designer.
Database Access Engine, DAO, CR, Cannot logon, Excel, xls, xlsx , KBA , BI-RA-CR , Crystal Reports designer or Business View Manager , Problem