Search code examples
.netoraclevisual-studiovisual-studio-2013odp.net

Managed ODP.NET driver does not show up in Data Source dialog


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:

enter image description here

This is how it actually looks on my machine:

enter image description here

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?


Solution

  • 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"