Link to home
Start Free TrialLog in
Avatar of agduke06
agduke06

asked on

Cannot create an instance of OLE DB provider

Cannot create an instance of OLE DB provider "OraOLEDB.Oracle" for linked server  (Microsoft SQL Server, Error: 7302)
Avatar of slightwv (䄆 Netminder)
slightwv (䄆 Netminder)

Not much information to go on.  Versions of SQL Server and Oracle Client would help a lot.

Also the Bit versions of each (64 or 32).

While we wait, take a look at:
http://www.sqlcoffee.com/troubleshooting091.htm
Did you installed ORACLE Client software ON that SQL Server where you try to add the linked server and properly configured TNSNames.Ora ?

http://support.microsoft.com/kb/280106
I also found that link when I Googled the error.

The main reason I didn't post it was the information in it seemed very outdated and only seemed minimally relevant since it focused on the deprecated MSDAORA drivers.
Did you installed ORACLE Client software ON that SQL Server where you try to add the linked server and properly configured TNSNames.Ora ?
More recent links if you think that was outdated but same idea - you must install the ORACLE client on that SQL and configure it properly otherwise...

http://sql-articles.com/articles/dba/creating-oracle-linked-server-in-sql-server/
http://www.mssqltips.com/sqlservertip/1433/how-to-setup-linked-servers-for-sql-server-and-oracle-64-bit-client/
I don't think you can get this part of the error message without the Oracle Client installed:
OLE DB provider "OraOLEDB.Oracle"
Don't get me wrong I'm just trying to help but you don't want to answer my question so is hoard for me to do it like that. Other than what I said please check to make sure that you can actually connect to your Oracle server via the ORACLE client/TNS names and also in SQL Please check to make sure that you have the provider OraOLEDB.Oracle listed as available and under that provider Properties make sure ‘Allow In process’ is checked in the provider options.

Good luck.
Ummm, I'm not the asker.  I'm another Expert.

I also believe the tnsnames.ora file is optional these days but I've not messed with oleDB for years.

If you just do a basic client install or the Instant Client you likely don't have the tools, like tnsping, mentioned in those links.
Sorry mate!! I managed to mess that up somehow - I apologize... however to date as far as I'm aware you still need the appropriate Oracle ODAC 64 or 32 bit installed and configure TNSnames.ora for SQL linked server to work.
Here's one link for 64 bits
http://blogs.msdn.com/b/dbrowne/archive/2013/10/02/creating-a-linked-server-for-oracle-in-64bit-sql-server.aspx
Oracle OleDB drivers, YES. I don't see where I ever stated you don't need the Oracle drivers.

I only mentioned that the tnsnames.ora file is now optional.

Even the link you just provided supports that position:
Then create the linked server definition.  Instead of a TNSNames alias, use an EZConnect identifier.  

EZConnect doesn't require the tnsnames.ora file.
Avatar of agduke06

ASKER

Thank you all for your help. Here is what I tried at first but could not get it to work.
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
Install: ODAC1120320_x64.zip

Then I removed the ODAC install and tried this Client install which go me to the error above.
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html
Install: win64_11gR2_client.zip

Then I found this on another thread:
Enable the option "Allow in process" on the properties of the OraOLEDB.oracle provider:
'Click Provider Options, and then click to select the Allow InProcess check box.'

And now the linked server is connecting. I don't know what the difference is between the ODAC and Client downloads, it seems they should both work.
Thanks again!
ASKER CERTIFIED SOLUTION
Avatar of slightwv (䄆 Netminder)
slightwv (䄆 Netminder)

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial