Il driver ODP.NET gestito non viene visualizzato nella finestra di dialogo Origine dati

Dopo aver installato ODP.NET gestito sul mio computer, il driver gestito ODP.NET non viene visualizzato nella finestra di dialogo Scegli origine dati in Visual Studio 2013 Professional.

Ecco come dovrebbe essere:

inserisci la descrizione dell'immagine qui

Ecco come appare sulla mia macchina:

inserisci la descrizione dell'immagine qui

Ho seguito i passaggi descritti nell’articolo ” An Easy Drive to .NET ” sul sito Web di Oracle.

Ho anche installato Oracle Developer Tools per Visual Studio . Ancora nessun driver gestito da selezionare.

La mia domanda:

C’è qualcosa che ho dimenticato di fare per far apparire il fornitore di dati?

Aprire l’editor del Registro di sistema e verificare se esiste RegKey HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed . Contiene solo il valore (predefinito) con posizione di Oracle.ManagedDataAccess.dll.

Aggiungi la chiave nel caso manchi, esempio:

 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" 

Puoi anche provare gli script di configurazione di Oracle in {ORACLE HOME}\odp.net\managed\x64\configure.bat e {ORACLE HOME}\odp.net\managed\x86\configure.bat , dovrebbero fare lo stesso

Quindi controlla le opzioni di compilazione se hai selezionato Framework di destinazione almeno su .NET Framework 4 .

Aggiornamento per la versione 12.2

Key odp.net.managed sembra essere usato nella vecchia versione 12.1. L’ultima versione utilizza 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" 

La risposta generica a questa domanda è “(Re) installa ‘Oracle Developer Tools per Visual Studio’ (ODT)”. Ottenere semplicemente ODP.NET da Nuget o da altre fonti non è sufficiente per sfruttare l’integrazione di Visual Studio. È necessario installare anche ODT.

Scarica “ODTwithODAC”: http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html

Aggiornamento 4/2018: se si utilizza l’edizione comunitaria di Visual Studio 2017, eseguire l’aggiornamento alla versione 12.2.0.1.1 o successiva. Questa è la prima versione che funziona con VS 2017 CE: http://www.oracle.com/technetwork/topics/dotnet/downloads/odacmsidownloadvs2017-3806459.html

Come hai notato, a volte le installazioni vengono cancellate. Quindi se non visualizzi il driver nelle windows di dialogo o ricevi degli errori generici (non-oracle ORA-) quando tenti di utilizzare le funzionalità, devi reinstallare ODT.

Mentre Wernfried ha pubblicato la sua risposta, ho provato allo stesso tempo il seguente approccio:

  1. Disinstallare eventuali pacchetti / driver Oracle installati in precedenza.
  2. Riavvia Visual Studio.

Dopo questi passaggi, i driver erano presenti:

inserisci la descrizione dell'immagine qui

Non sono ancora sicuro al 100%, perché una semplice disinstallazione risolve qualcosa.

Ho lo stesso errore. Da quando ho installato vs2015 Update 3.