provider is not registered on the local machine

Posted on 2013-09-24
Medium Priority
1 Endorsement
Last Modified: 2013-09-27
Hello Experts,

I'm new to web services and connecting to Oracle.  I am using Oracle Express Edition and running on Windows 7 64 bit machine.  the connection string I'm using is:

Provider=OraOLEDB.Oracle;Data Source=XE;User ID=system;Password=pwd01

I get the following error when the web service tries to connect to the DB:

System.InvalidOperationException: The 'OraOLEDB.Oracle' 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, 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 RealPropertyWebServices.clsDataAccess.OpenDatabase() in C:\Users\kmfrancis\Documents\Visual Studio 2010\Projects\RealPropertyServices\RealPropertyApplicationSolution\RealPropertyWebServices\clsDataAccess.vb:line 6984
   at RealPropertyWebServices.RealPropertyWebServices.GetDocumentTypes() in C:\Users\kmfrancis\Documents\Visual Studio 2010\Projects\RealPropertyServices\RealPropertyApplicationSolution\RealPropertyWebServices\RealPropertyWebServices.asmx.vb:line 189

What am I doing wrong?
Question by:mutu
  • 6
  • 4
  • 2
LVL 52

Expert Comment

by:Carl Tawn
ID: 39517591
Did you install the Oracle client tools on the machine too?
LVL 78

Accepted Solution

slightwv (䄆 Netminder) earned 1500 total points
ID: 39517592
I'm going to make a couple of assumptions:
The .Net web service is 32Bit.
Your Oracle install is 64Bit.

If so, you need the Oracle 32Bit OLEDb drivers.

You can download them from:

Just to confirm:  The web service is running on the same server as your XE instance.  Correct?

Author Comment

ID: 39518517
Yes the .Net web service is 32Bit and the web service is running on the same server as the XE instance.  The Oracle install is 32Bit - I don't think Oracle has a 64Bit version for  

I will download the drivers and try it ...

Thank you for your help!
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.


Author Comment

ID: 39518526
Carl_tawn - What are the client tools and where do I get them?

Author Comment

ID: 39519300
I downloaded the Oracle tools and ran the sql scripts but I still get the same error and I don't know what else to try!
LVL 78

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39519366
It's been a while since I had to install the drivers but I remember there being an install process of some sort for the OLEDb drivers.

Did you run that?

There should be a readme type file as part of the unzipped download that tells you how to install them.
LVL 52

Expert Comment

by:Carl Tawn
ID: 39520329
In Windows go to:

  Start > Settings > Control Panel > Administrative Tools > Data Sources (ODBC)

Look under the "Drivers" tab. What, if anything, is listed for Oracle?
LVL 78

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39520900
>>Look under the "Drivers" tab. What, if anything, is listed for Oracle?

I can install the OleDB drivers and not the ODBC drivers.  Not sure what looking for the ODBC drivers will help solve.

Author Comment

ID: 39521287
Under the Drivers tab there are two items listed:

SQL Server
SQL Server Native client

I looked at the readme file but didn't see anything about ODBC drivers.  I'm going to look at the readme file again to see if I missed anything and I will look into ODBC drivers.
LVL 78

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39521305
>>if I missed anything and I will look into ODBC drivers.

I suggest not using ODBC.  They are problematic and typically have limitations that other native drivers do not have.

If you are considering changing drivers, I suggest ODP.Net.

Author Comment

ID: 39527690
Experts thank you for all your help!!  This is a 64 vs 32 bit conflict.  The problem went away when I enabled 32 bit applications in IIS.

1. Start IIS (Start -> type inetmgr in search box)
2. Click on Application Pools in left panel, list of Application Pools will display in right panel
3. Select DefaultAppPool and name of the virtual directory of the app then click on Advanced Settings in Action Panel under Edit Application Pool.
4. Enable 32-Bit Applications = True for both

I will accept solution and award points.

Author Closing Comment

ID: 39527698
Your comments were helpful to narrow the search for a solution.  Thank you very much!

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
An ASP.NET Web Form User Control is not newly introduced in ASP.NET. In fact, it was an old technology yet still playing a role to generate web content, especially when we want to use it to have a better and easy way to control part of the web conte…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This video explains what a user managed backup is and shows how to take one, providing a couple of simple example scripts.

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question