Managed ODP.NET driver does not show up in Data So

2019-01-06 23:23发布

问题:

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?

回答1:

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"


回答2:

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.



回答3:

While Wernfried posted his answer I tried at the same time the following approach:

  1. Uninstall any previously installed Oracle packages/drivers.
  2. Restart Visual Studio.

After these steps, the drivers were present:

I'm still not 100% sure, why a simple uninstall fixes something.



回答4:

I has same error. Since I installed vs2015 Update 3.

  • solve Reinstall Oracle Developer Tools for Visual Studio 2015. http://www.oracle.com/technetwork/topics/dotnet/downloads/odacmsidownload-2745497.html

  • ref https://community.oracle.com/thread/648192