I have a linked server on SQL Server that talks to Oracle. Executing the following sql statement using Openquery
SELECT * FROM OPENQUERY(finance, 'select * from KFRI.VW_XREF_PROJECTS')
will get error as the following:
OLE DB provider "OraOLEDB.Oracle" for linked server "finance" returned message "ORA-12640: Authentication adapter initialization failed".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "finance".
I tried to set :
SQLNET.AUTHENTICATION_SERVICES= (NONE)
in {$ORACLE_HOME}\NETWORK\ADMIN\sqlnet.ora. It did not help.
What’s interesting is my coworker is able to execute the exactly same query successfully on his machine without a hitch.
Any tips on how to fix this is greatly appreciated!!
Just to clarify – you are both connecting to the same SQL Server box that has a linked server to Oracle, and his query executes and yours does not, correct? I want to rule out oracle drivers and configuration issues.
If you’re both logging onto the SQL Server to run your query, then you need to look at how your linked server is set to handle authentication. Is it passing through your credentials (make sure you have permissions on the Oracle box), or is it using a set of Oracle credentials? If it’s using Oracle credentials, then I have no idea what’s going on.
If you and your co-worker each have SQL Server installed on your respective local machines, and have both created a linked server, then you should check your Oracle driver, then check your permissions on Oracle, and make sure you have the same .ora files.