1

I need to make a linked server on a SQL Server instance to get data from Oracle, but I'm finding it difficult.

I set up ODBC Oracle and the connection test succeeds, but when I try to create the linked server in SQL Server, the below message occurs.

The user of the Agent service and MSSQLSERVER is LocalSystem

Can not initialize the data source object of OLE DB provider "MSDASQL" for linked server "10.40.22.7". OLE DB provider "MSDASQL" for linked server "10.40.22.7" returned message "The specified driver could not be loaded due to system error 1114: A dynamic link library (DLL) initialization routine failed. (Oracle in OraClient12Home1, G: \ app \ client \ adm_bds \ product \ 12.1.0 \ client_1 \ SQORA32.DLL). " (Microsoft SQL Server, Error: 7303)

The file in the briefed folder exists.

4
  • check this link Commented Apr 24, 2017 at 16:58
  • it's not work :( Commented Apr 25, 2017 at 14:06
  • inspect the Windows event log for more details, what happened when initialization routine failed. Commented Apr 25, 2017 at 14:20
  • 1
    Also, make sure you have added to PATH environment variable all folders with Oracle system components. Probably MS SQL server is unable to find a dll dependency upon initialization process. Commented Apr 25, 2017 at 14:23

3 Answers 3

2

Oracle version independent problem.

Restart the MS SQL server service after installing the ODAC.

MS SQL service must refresh the environment variables added after the installation of ODAC.

Sign up to request clarification or add additional context in comments.

Comments

1

Given that it was >1 year ago, this probably won't help Fabiano but may help others out there...

Encountered the same issue and it turned out to be the permission setting of SQORA32.DLL as well as DLLs that SQORA32 depends on. The account running MSSQLServer process needs to have read/execute permission on all relevant DLLs in that folder. (Use Task Manager to identify the account)

Add the account to security setting of the folder where SQORA32.DLL resides and let all files in the folder inherit the permission.

If you've changed the folder permission and you're still encountering the error message, ensure that the other files did not have permission inheritance disabled. My files weren't inheriting the folder permission (coz some genius disabled it) and despite giving SQORA32.DLL the correct permission setting, the same error message kept popping up and complaining about SQORA32.DLL. As it turns out, the error message was a red herring; it was the dependent DLLs that didn't have the correct permission setting.

~des

Comments

1

The issue for me was that the folder that contains SQORA32.DLL was not in the PATH. After adding it to the system PATH and restarting sql server, the connection was established with no error.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.