First published on MSDN on Mar 26, 2018
In general, there are several links available to download the ODAC components from the Oracle official site. It varies across the Oracle versions, and the type of installer that we would need. Most of the time, we look for the .exe installer to install the Oracle related drivers as we are more comfortable with the Windows MSI installers.
In this blog, we will go through the ODAC driver installation and configuration with the SQL Server Reporting services (SSRS) data source to connect Oracle data source using Oracle native driver.
We would be using a single system to develop the report using SQL Server Data Tools (SSDT) and host the report in Report Server. It means SSDT and SSRS both are installed in the same system.
SSDT version – Visual Studio 2017
SSRS – SQL Server Reporting Services 2014.
1. SSDT runs in 32 bit whereas SSRS runs in 64 bit. Since we are in the same system, we need to install both the bit-ness of Oracle drivers one by one.
We need to go to the Oracle official site to search for the drivers for the required version. Please note that we need to check for the installer which has the OLE DB/ ODP. Net (Oracle data Provider for .Net components.)
Client_#, the number will change according to your installation order.
No need to update any environmental variable. During the installation, it was already done. You can check the same going to the My computer -> Properties -> Advance System setting -> Environmental Variables -> System Variables -> Path
3. Once the 32 bits and 64 bits driver installations are done, you need to place the tnsnames.ora file in the following location
4. So, we have now successfully installed the Oracle drivers. The next step is to test the connection from Visual Studio and SSRS.
5. Open the SSDT. I tested in SSDT 2017. Create a Report Server Project –> File-> New -> Project -> Reporting Services -> Report Server Project
6. After creating the Reporting Services Project, you need to do the test connection. You can do the test connection by following the below screenshot. Please note that here we are using the OLE DB driver.
7. The same test connection, we will now be doing in SSRS. To do that we need to register the OraOLEDB driver. Go to the command Prompt (Run as Admin) -> and then run the following command. The path might vary as per your installation directory. We need to register the 64 bits driver since SSRS run on 64 bits ( E:\app\client\xxxx\product\12.2.0\client_2\bin\OraOLEDB12.dll)
8. Once this is done, after deploying the project, we can do the test connection in SSRS
9. We can use the ODP.Net to connect to the SSRS as well. This is the default driver which shows in SSDT. We need to register the ODP.Net DLLs. Go to the 64 bits installation folder. For me it is -
Run the following commands using the command Prompt (Run as admin).
E:\app\client\xxxx\product\12.2.0\client_2\odp.net\bin\2.x>oraprovcfg /action:gac /providerpath:E:\app\client\xxxx\product\12.2.0\client_2\odp.net\bin\2.x\Oracle.DataAccess.dll
E:\app\client\xxxx\product\12.2.0\client_2\odp.net\bin\4>oraprovcfg /action:gac /providerpath:E:\app\client\xxxx\product\12.2.0\client_2\odp.net\bin\4\Oracle.DataAccess.dll
10. Once it is done, we can test the connection from SSRS, and as well as from SSDT.
This is how you would be able to test the connectivity from the SSRS to the Oracle database. If it is not working, you might need to test the Oracle connection outside of SSRS. If that does work, and only connections made from SSRS fails, then I would recommend you contact the Microsoft Support team.
Samarendra Panda - Support Engineer, SQL Server BI Developer team, Microsoft
Krishnakumar Rukmangathan – Support Escalation Engineer, SQL Server BI Developer team, Microsoft