Skip to main content

Hi,

Our organization recently upgraded the Microsoft Access Database Engine from the 2010 version to version 2016.

In one of our Automation Anywhere (AA) processes, we use the Database command to connect to an Excel file and perform read/write operations by treating the Excel sheet as a database using OLEDB connection strings.

Previously (Working Setup with Access DB Engine 2010):

Connection String:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=$sDailyReportFilePath$;Extended Properties="Excel 12.0 Xml;HDR=YES";

This setup worked successfully with the Microsoft Access Database Engine 2010.

After Upgrade (Access DB Engine 2016):

We updated the connection string to reflect the new provider version:

Provider=Microsoft.ACE.OLEDB.16.0;Data Source=$sDailyReportFilePath$;Extended Properties="Excel 12.0 Xml;HDR=YES";

However, this throws the following exception when the bot executes the database command:

"Could not connect to database. Provider cannot be found. It may not be properly installed."

 

how to resolve this issue?

There is no simple answer to your query. That’s why sites like https://www.connectionstrings.com/ exist. You will have to experiment with the connection string on your particular system. Be aware this could have some significant impacts including a modified SQL query syntax!

You’re also facing a more complex issue in that Excel is not a database. You’re going through the ACE database engine through the OLE engine in Windows to make an Excel file look like a database. It is better to migrate the Excel file to an actual Access database, or another database.


Hi ​@pbaskaran,

 

Check this out and see it helps or not.

 

Keep in mind that the bitness (32-bit or 64-bit) of the Access Database Engine matches the bitness of the Automation Anywhere Bot Agent and the process. So, mixing bitness (e.g., 64-bit engine with 32-bit bot) causes provider not found errors.


@Padmakumar ,

 

Thanks for sharing. I tried out above solution. now it works fine.


Reply