ThinkGeo.com    |     Documentation    |     Premium Support

Error: System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0'

Is there a resolution to the error below?

System.InvalidOperationException: The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine.
at System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
at System.Data.OleDb.OleDbConnectionInternal…ctor(OleDbConnectionString constr, OleDbConnection connection)
at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
at ThinkGeo.MapSuite.Core.ShapeFileFeatureSource.0kI=(String sqlStatement)
at ThinkGeo.MapSuite.Core.ShapeFileFeatureSource.ExecuteQueryCore(String sqlStatement)
at MapUtilities.GetCountyExtent(Map map, String stateFIPS, String countyFIPS) in C:\Test\MapUtilities.cs:line 914
at ReportGenerator.SetMapExtentAndReturnTotalPolicyAcres(Map map, MapViewModel mapViewModel) in C:\Test\AgMapping.Reports\ReportGenerators\MapPolicyReportGenerator.cs:line 446
at ReportGenerator.GenerateReport(Dictionary2 reportParameters, Int32 userId) in C:\Test\ReportGenerators\MapPolicyReportGenerator.cs:line 134 at ReportFactory.GenerateReport(ReportNames reportName, Dictionary2 reportParameters, Int32 userId, List1& errors) in C:\Test\ReportFactory.cs:line 129 at ReportController.GetReportLink(Dictionary2 mapReportBaseParameters) in C:\Test\Controllers\api\ReportController.cs:line 166

In this instance a call to QueryTools.ExecuteQuery was executed on a ShapeFileFeatureLayer.

We currently get around this by setting the “Enable 32-Bit Applications” in the IIS Application Pool to True. However,this setting limits the available memory our web site can use. We would prefer to run the website as 64-Bit and leave the “Enable 32 Bit Applications” set to FALSE.

We are using Map Suite MVC Edition 9.0.0.401 and we also experienced this on version 8.0.0.76

What other options do we have other than changing the “Enable 32-Bit Applications” setting in IIS?

Hi Greg,

It works well on my end, I did more investigation and guess you need to install the corresponding driver.

https://www.microsoft.com/en-us/download/details.aspx?id=13255

My computer info:
Office 2016 version: 16.0.7167.2060
OS:WIN 10
IIS:Version 10.0.10586.0

Thanks,
Peter

Thanks Peter. Installing the 64 bit “Microsoft Access Database Engine 2010 Redistributable” fixed the issue.

Hi Greg,

It’s my pleasure. Very glad to hear it works.

Thanks,
Peter