Having installed managed ODP.NET on my computer, the ODP.NET Managed Driver does not appear inside the Choose Data Source dialog in Visual Studio 2013 Professional.
This is how it should look like:
This is how it actually looks on my machine:
I've followed the steps described in the "An Easy Drive to .NET" article on the Oracle website.
I've also installed the Oracle Developer Tools for Visual Studio. Still no managed driver to select.
My question:
Is there anything I forgot to do in order to make the data provider appear?
The generic answer to this question is "(Re)install 'Oracle Developer Tools for Visual Studio' (ODT)". Simply getting ODP.NET from Nuget or from other sources is not enough to take advantage of Visual Studio integration. You must install ODT also.
Download "ODTwithODAC": http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
Update 4/2018: If you are using Visual Studio 2017 Community edition, please upgrade to version 12.2.0.1.1 or later. That is the first version that works with VS 2017 CE: http://www.oracle.com/technetwork/topics/dotnet/downloads/odacmsidownloadvs2017-3806459.html
As you noticed, sometimes installations get munged. So if you do not see the driver in the dialogs or are getting generic (non-oracle ORA-) errors when you try to use features then you should reinstall ODT.
Open your Registry editor and check if RegKey HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed
exists. It contains only the (Default) value with location of your Oracle.ManagedDataAccess.dll.
Add the key in case it is missing, example:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed]
@="c:\\oracle\\product\\12.1\\odp.net\\managed\\common"
You can also try the Oracle config scripts at {ORACLE HOME}\odp.net\managed\x64\configure.bat
and {ORACLE HOME}\odp.net\managed\x86\configure.bat
, they should do the same
Then check your compile options whether you selected target Framework at least to .NET Framework 4
.
Update for Release 12.2
Key odp.net.managed
seems to be used in old version 12.1. Latest release uses Oracle.ManagedDataAccess
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess]
@="C:\\oracle\\product\\12.2\\Client_x64\\odp.net\\managed\\common"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess.EntityFramework6]
@="C:\\oracle\\product\\12.2\\Client_x64\\odp.net\\managed\\common\\EF6"
While Wernfried posted his answer I tried at the same time the following approach:
After these steps, the drivers were present:
I'm still not 100% sure, why a simple uninstall fixes something.
Old post but same issue. THe root cause is - i think - if you have VS 2022 installed the ODT for VS 2017 or 2019 does not install properly. I had to uninstall all versions of VS, reinstall VS 2017, reinstall ODTwithODAC183. Ensure that it can actually find the latest version of VS 2017 - I used the Visual Studio installer and it installed the latest version of VS 2017 Pro. I think that made a difference too. It looks like otherwise the installer won't find VS 2017 properly (if 2022 is installed) and the whole thing is fubar.
To test if it's installed correctly, add a entity data model and you should be able to see the oracle option in the data source list.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With