Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

OLEDB provider issue

newbiegalDec 14 2010 — edited May 21 2013
Hi all,

I'm setting up linked server from sql server to oracle. I installed Oracle client 10.2.0.1 on the server, configured ODBC to the Oracle database using OraOLEDB.Oracle provider. Created linked server on sql server, but getting the below error:


SELECT * FROM
testlink..user.table

OLE DB provider "ORAOLEDB.ORACLE" for linked server "TestLink" returned message "ORA-12154: TNS:could not resolve the connect identifier specified".
Msg 7303, Level 16, State 1, Line 2
Cannot initialize the data source object of OLE DB provider "ORAOLEDB.ORACLE" for linked server "TestLink".

tnsping to the oracle database works from the server and the ODBC connection testlink to the oracle database is successful. I tried checking Allow inprocess in the provider option by right clicking linked server properties on the management studio also.. Nothing seemed to work..

Please help.. thanks

Comments

IlicAlex
Hi,
TNS_ADMIN used in command prompt is somehow ignored (added comment afterwards: mapped drive used in TNS_ADMIN may not be accessable, use UNC path in TNS_ADMIN instead).
Create TNSNAMES entry through Oracle Net Configuration Assistant.

Test Connection on Linked server must work before any SELECT can work.

To use insert from linked server data change provider options:
Allow inprocess = checked

Restart SQL server windows service and try again.

Best regards,
Alex

Edited by: user4580124 on Dec 15, 2010 1:40 PM

Edited by: user4580124 on Nov 15, 2011 2:56 AM
newbiegal
Thanks Alex. I installed Oracle client 10.2.0.1, created linked server and followed the steps above and it worked. But get the following error for some selects..

SELECT * FROM
testlink..user.table

Invalid data for type "numeric".


I researched on this error that it is fixed in ODAC 10.2.0.2.21. I first installed Oracle client (Oracle10g_client_64bit.zip) and then tried installing ODAC (Oracle 10g Release 2 ODAC 10.2.0.2.21) but get a "runtime error" during the install.. Not sure if I'm missing something...


Please help
IlicAlex
Hi,
Whenever I detect strange behavior of an Oracle installation I first check the paths:
Installation folder and destination paths should not have blanks or empty space characters.
I can tell you for 11g x64 client installation. It does not work if the installation folder contains blank.

Do you have only problem with numeric tables? How about tables with string values only?

Best regards,
Alex
1010089
You get this error because the Oracle data dictionary is case sensitive. Oracle object names are all uppercase by default. The linked-server query must exactly match the case of all referenced Oracle metadata, such as schema and table names. So, the following query works:
SELECT * FROM oradb..SCOTT.DEPT WHERE deptno = 10
1 - 4
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jun 18 2013
Added on Dec 14 2010
4 comments
15,462 views