By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
431,780 Members | 1,520 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 431,780 IT Pros & Developers. It's quick & easy.

Retrieving COM class Factory failed: 8007007f

P: n/a
Hi, I recently wrote an ASP.Net web application in VS2005 and published
(using VS2005 Publish feature) it to a relatively clean machine with
ASP.Net 2.0 and MDAC 2.8 installed on it. However, when I try to create
my SQL connection in the code-behind, I get the following error. I
tried to register the DLL using regsvr32 but that errored out saying,
"dllregisterserver entry point was not found". Any ideas?

Retrieving the COM class factory for component with CLSID
{2206CDB2-19C1-11D1-89E0-00C04FD7A829} failed due to the following
error: 8007007f.
Description: An unhandled exception occurred during the execution of
the current web request. Please review the stack trace for more
information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException:
Retrieving the COM class factory for component with CLSID
{2206CDB2-19C1-11D1-89E0-00C04FD7A829} failed due to the following
error: 8007007f.

Source Error:

An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of
the exception can be identified using the exception stack trace below.
Stack Trace:
[COMException (0x8007007f): Retrieving the COM class factory for
component with CLSID {2206CDB2-19C1-11D1-89E0-00C04FD7A829} failed due
to the following error: 8007007f.]
System.RuntimeTypeHandle.CreateInstance(RuntimeTyp e type, Boolean
publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle&
ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean
fillCache) +103
System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean
skipVisibilityChecks, Boolean fillCache) +261
System.RuntimeType.CreateInstanceImpl(Boolean publicOnly) +14
System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,
Binder binder, Object[] args, CultureInfo culture, Object[]
activationAttributes) +1036
System.Activator.CreateInstance(Type type, BindingFlags bindingAttr,
Binder binder, Object[] args, CultureInfo culture, Object[]
activationAttributes) +114
System.Data.OleDb.OleDbConnectionInternal.CreateIn stanceDataLinks()
+96
System.Data.OleDb.OleDbConnectionInternal.GetObjec tPool() +130

[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.Data.OleDb.OleDbConnectionInternal.GetObjec tPool() +166

System.Data.OleDb.OleDbConnectionInternal..ctor(Ol eDbConnectionString
constr, OleDbConnection connection) +51

System.Data.OleDb.OleDbConnectionFactory.CreateCon nection(DbConnectionOptions
options, Object poolGroupProviderInfo, DbConnectionPool pool,
DbConnection owningObject) +53

System.Data.ProviderBase.DbConnectionFactory.Creat eNonPooledConnection(DbConnection
owningConnection, DbConnectionPoolGroup poolGroup) +27

System.Data.ProviderBase.DbConnectionFactory.GetCo nnection(DbConnection
owningConnection) +47

System.Data.ProviderBase.DbConnectionClosed.OpenCo nnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.OleDb.OleDbConnection.Open() +37
System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset,
DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String
srcTable, IDbCommand command, CommandBehavior behavior) +121
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior) +137
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +86
search.Page_Load(Object sender, EventArgs e) +1404
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+1061

Sep 7 '06 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Jimmy,

I've seen the 8007007f error once before in relation to MDAC, though it was
not .NET related (classic ASP).

In that case the problem was an incorrect version of OLEDB32.DLL
(mismatched). The solution was to regsvr32 the correct oledb32.dll.

You should download and run the MDAC component checker. It will look at all
the version of all the mdac files and see what's what.

You could also try a manual search for OLEDB32.DLL and see which version are
installed. You'll also have to check the registry to see which one is
actually in use (mdac component checker may tell you).

Regards,

Rob MacFadyen
Sep 8 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Browse more ASP.NET Questions on Bytes