Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
dramus
Continued Contributor
Continued Contributor

Getting Power BI Desktop to work with Oracle ODAC AFTER version 12.2

Power BI Desktop needs the Oracle data providers installed at the machine level. After ODAC 12.2, Oracle removed this option from the install, which means out of the box Oracle 18.x and 19.x ODAC installs are not seen by Power BI Desktop. I've spent the last 24 hours installing and uninstalling various versions of ODAC trying to get them to work with Power BI Desktop.

I'm limiting this to the 64bit install (Because that is what I have) and .NET 4.0, becuase that is what Power BI Desktop needs.

I can now report I have ODAC 19.3 working with Power BI Desktop (May 2021). This is thanks to Google and a lot of digging around. I've put a link to the original article I found that helped me get the data providers installed, as this was not my own work! (Power BI Github comment ), I'm just documenting it here for others.

 

  1. You need to match the 32/64 bit version of the Oracle ODAC install to the version of Power BI Desktop you have installed. You can find this by starting up Power BI Desktop and clicking Help->About.
  2. You will need an account with the Oracle website to download the 64-Bit 19.3 ODAC installer 
  3. Unzip the file into a directory with a short name and no spaces in the path. The Oracle installer hates spaces and deep directories.
  4. Run the Setup.exe with Administrator privileges. Other than selecting the oracle base directory and possibly changing the path for the install, you shouldn't need to alter any other settings. If youdo not have a thsnames file, it will prompt you to create a first entry for one.
  5. After the ODAC install completes, start an Administrator Command prompt window and navigate to the ODAC install directory.
  6. Navigate to odp.net\bin\4 
    NOTE: Look in c:\windows\microsoft.net\framework64 to see the correct versions for .net there should be a v4.0.xxxx folder use these strings as frameworkversion below. In my case it was 4.0.30319.
    You will need to run:

 

 

 

 

OraProvCfg.exe /action:gac /providerpath:"Oracle.DataAccess.dll"

OraProvCfg /action:config /force /product:odp /component:dbproviderfactory /frameworkversion:v4.0.30319 /providerpath:Oracle.DataAccess.dll​

 

 

 

7. One last thing, from the main install directory take a copy of the oraons.dll and copy it into the bin directory.

 

 

 

 

Having done the above I was able to start Power BI Desktop and connect to an Oracle data source.

23 REPLIES 23
duardo08
Advocate I
Advocate I

Thanks bro! 

I was two days trying to put a dashboard to work in a vm

uwaiz
New Member

I had similar issue after migrating on-premise gateway to a new server, I followed below steps.

 Installed Oracle Client for Microsoft Tools https://download.oracle.com/otn_software/odac/Oracle-Client-for-Microsoft-Tools.exe  and copied the tnsnames.ora file which solved my issues.

Did you have to run these as well?

OraProvCfg.exe /action:gac /providerpath:"Oracle.DataAccess.dll"

OraProvCfg /action:config /force /product:odp /component:dbproviderfactory /frameworkversion:v4.0.30319 /providerpath:Oracle.DataAccess.dll​

I'm not sure. 

dramirezkon
Frequent Visitor

Hi, I'm trying to config but when I run 

OraProvCfg /action:config /force /product:odp /component:dbproviderfactory /frameworkversion:v4.0.30319 /providerpath:Oracle.DataAccess.dll​

showme this error:

C:\oracle\odp.net\bin\4>OraProvCfg /action:config /force /product:odp /component:dbproviderfactory /frameworkversion:v4.0.30319 /providerpath:Oracle.DataAccess.dll​
ERROR: File not found: oracle.dataaccess.dll?
Error: Referencia a objeto no establecida como instancia de un objeto.

 

Can you help me? 

I ran into the same error - what i found I had to do was put quotes around "Oracle.DataAccess.dll", exactly like he did with the first call to OraProvCfg.

I was still geting the error, even when utilizing quotes. i.e.

 

 

OraProvCfg /action:config /force /product:odp /component:dbproviderfactory /frameworkversion:v4.0.30319 /providerpath:"Oracle.DataAccess.dll​"

 

 

 
I instead used a variable to define the current path of Oracle.DataAccess.dll and then used that which seemed to work:

 

 

set oracle19cprovider="C:\oracle\ora19c64\client\ODP.NET\bin\4"
OraProvCfg.exe /action:gac /providerpath:'%oracle19cprovider%\Oracle.DataAccess.dll'
OraProvCfg /action:config /force /product:odp /component:dbproviderfactory /frameworkversion:v4.0.30319 /providerpath:'%oracle19cprovider%\Oracle.DataAccess.dll'

 

*Note, your location of Oracle.DataAccess.dll may be different than what I am using.

AnamPatel
Resolver II
Resolver II

Can you please let me know the steps to uninstall an older version of ODAC?

dramus
Continued Contributor
Continued Contributor

To uninstall a version of ODAC. I haven't run this, but it should be close.

 

 

OraProvCfg.exe /action:ungac /providerpath:"Oracle.DataAccess.dll"

OraProvCfg /action:unconfig  /product:odp /component:dbproviderfactory /frameworkversion:v4.0.30319

I made a slight change but overall it works well, thank you!

 

 

set oracle19cprovider="C:\oracle\ora19c64\client\ODP.NET\bin\4"
OraProvCfg.exe /action:ungac /providerpath:'%oracle19cprovider%\Oracle.DataAccess.dll'
OraProvCfg /action:unconfig /product:odp /component:dbproviderfactory /frameworkversion:v4.0.30319 /providerpath:'%oracle19cprovider%\Oracle.DataAccess.dll'

 

*Note, your location of Oracle.DataAccess.dll may be different than what I am using.

 

 
 
 
vnicholl
Helper II
Helper II

I am trying this on a laptop w/only Oracle 19c as the client. I did all this, still getting Oracle: ORA-12170: TNS:Connect timeout occurred.

 

Could this be due to ACL's not on this computer? 

 

My TOAD works though - but it is not using the tnsnames.ora on the laptop. 

Were you ever able to solve this issue? Could you share your solution if so? I have been stuck here for months now 😞

dramus
Continued Contributor
Continued Contributor

Check your Windows environment variables. Is the Oracle client you are trying to use the first oracle path in the PATH variable? Do you have TNS_ADMIN defined and pointing to a valid tnsnames.ora directory?

 

If use go to a command prompt and type tnsping <your oracle tnsnames entry>, does it ping correctly?

After all the hours spent trying to solve this issue it was my companies rolled out version of PBI Desktop. It was right in the article I had read 100 times but skimmed over because I have PBI desktop pushed to my machine. I had to have IT remote in to install.

 

If you downloaded Power BI Desktop from the Microsoft Store, you might be unable to connect to Oracle databases because of an Oracle driver issue. If you encounter this issue, the error message returned is: Object reference not set. This is an issue with how Oracle driver works in Windows UWP Apps. To address the issue, you have to do the following:

  • Download Power BI Desktop from the Download Center instead of Microsoft Store.

I got a brand new laptop with a brand new install of Oracle desktop client. 

Anonymous
Not applicable

@dramus Thanks ,

which setup.exe are you talking about?Can you please explain?

  1. Run the Setup.exe with Administrator privileges. Other than selecting the oracle base directory and possibly changing the path for the install, you shouldn't need to alter any other settings. If youdo not have a thsnames file, it will prompt you to create a first entry for one.

Thanks

dramus
Continued Contributor
Continued Contributor
Anonymous
Not applicable

@dramus Thanks. I have already downloaded. Please see the below screen shot. I am confused about your STEP 4 which setup.exe we need to RUN under which folder?

Thanks

dramus
Continued Contributor
Continued Contributor

In the top level of the folder that you unzipped the download to, there should be 2 folders and 2 files. The 2 files are setup.ini and setup.exe, you need to run the setup.exe file.

dramus_0-1626207557861.png

 

Anonymous
Not applicable

@dramus thanks and appreciate your patience, the only contents i see under the exracted files are in the snapshot. I do not see any setup.exe files.

Capture.PNG

Helpful resources

Announcements
September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.