Click here to Skip to main content
14,392,354 members
Rate this:
Please Sign up or sign in to vote.
See more:
Hey guys,
In our company we are developing an application for one of the government offices in the country. Users of the same application should log on to a server farm and then browse to the application. 
The system is installed on IIS and one of its features is receiving reports via Excel file.
Recently, users have trouble importing the files and from our event viewer, we get this error:
System.InvalidOperationException: The .Net Framework Data Providers Require Microsoft Data Access Components (MDAC).
Please install Microsoft Data Access Components (MDAC) version 2.6 or later
Unfortunately, there is no fixed pattern for this problem, and while one user is able to import a report, another user may encounter this error again and again.
We tried everything possible (we even installed a new version of Office) but the problem came back again and again.
The system is written in asp.ent (the server code is in c #) and it is on IIS7.
We will be happy to receive guidance as to the source of the problem and what causes it. In our humble opinion, there is no doubt that this is a system level error and not an application code.
If there is someone who has heard, recognized or encountered this error, we will greatly appreciate if you can bring it up here.
Thank you!

The fuul log is:
Quote:
Message: Load data from excel - failed
System.InvalidOperationException: The .Net Framework Data Providers require Microsoft Data Access Components(MDAC).

Please install Microsoft Data Access Components(MDAC) version 2.6 or later. --->

System.Runtime.InteropServices.COMException (0x800703FA): Retrieving the COM class factory for component with CLSID

{2206CDB2-19C1-11D1-89E0-00C04FD7A829} failed due to the following error: 800703fa.
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean&

canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture,

Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo

culture, Object[] activationAttributes)
at System.Data.OleDb.OleDbConnectionInternal.CreateInstanceDataLinks()
at System.Data.OleDb.OleDbConnectionInternal.GetObjectPool()
--- End of inner exception stack trace ---
at System.Data.OleDb.OleDbConnectionInternal.GetObjectPool()
at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object

poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection,

DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory

connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
at OpsReporting.BusinessLogic.ExcelDataLoaderBL.LoadReport(InsertReportParamBE reportParam, Boolean allowOverride)

Category: GeneralLogging
Priority: -1
EventId: 0
Severity: Error
Title:
Machine: *********
Application Domain: *******************
Process Id: 1172
Process Name: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Win32 Thread Id: 3636
Thread Name:
Extended Properties:


What I have tried:

................................................................
Posted
Updated 20-Jul-17 8:17am
Rate this:
Please Sign up or sign in to vote.

Solution 1

Basically it means you do not have Office installed and there is a component you can download from MS that allows you to access office files without office installed, the users will have to download it and install the component on their machines.
   
Rate this:
Please Sign up or sign in to vote.

Solution 2

Maybe you can try setting the "Load User Profile" to "True" at the Application Pool Advanced Settings.

Mystery of the Server 2008 + IIS7 + OLE = "MDAC Not Installed" Error[^]
   
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)




CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100