Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle.DataAccess non disponibile per la selezione in Visual Studio 2013

Sì, Visual Studio è un'applicazione a 32 bit.

Dipende dalla destinazione della tua compilazione (x86 o x64 o AnyCPU ) quale client Oracle è necessario per eseguire/debug dell'applicazione, indipendentemente dall'architettura di Visual Studio.

AnyCPU funzionerà a 64 bit su Windows a 64 bit (che è molto probabilmente il caso)

Oracle.DataAccess non viene visualizzato perché è un assembly a 64 bit ma il tuo Visual Studio è a 32 bit.

Esistono diverse soluzioni:

  1. In Add References usa il Browse sezione e individuare Oracle.DataAccess.dll manualmente. In genere lo troverai nella cartella %ORACLE_HOME%\odp.net\bin\2.x\ o %ORACLE_HOME%\odp.net\bin\4\

  2. Apri il tuo *.csproj , risp. *.vbproj file con un editor di testo e aggiungi il riferimento manualmente, ovvero aggiungi righe come questa sotto l'elemento <ItemGroup> :

    <Reference Include="Oracle.DataAccess">
      <SpecificVersion>False</SpecificVersion>
      <Private>False</Private>
    </Reference>
    

    Nota:attributi come Version=... o processorArchitecture=... non sono richiesti. La tua applicazione caricherà il Oracle.DataAccess.dll corretto a seconda dell'architettura selezionata e del framework .NET di destinazione (a condizione che sia installato correttamente, anche sul computer di destinazione)

  3. Installa entrambi i client Oracle x86 e x64 sulla tua macchina. Ecco un'istruzione su come farlo:Stack Overflow - Installa Oracle x86 e x64

  4. Utilizzare il driver gestito ODP.NET di Oracle. Puoi scaricarlo da qui:Download di Oracle Data Access Components (ODAC) a 64 bit Funziona anche con applicazioni a 32 bit.

  5. Apri l'editor del registro e controlla se RegKey HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NET risp. HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET esistere. Entrambi i RegKey contengono solo il (Default) valore con la posizione del tuo Oracle.DataAccess.dll .

    Esempio:

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.Net]
    @="c:\\oracle\\product\\11.2\\Client_x86\\odp.net\\bin\\2.x"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.Net]
    @="c:\\oracle\\product\\11.2\\Client_x86\\odp.net\\bin\\4"
    
  6. Controlla il tuo Framework di destinazione nelle opzioni di compilazione. Quando hai installato ODP.NET versione 4.x devi selezionare la destinazione .NET Framework 4 o superiore per vedere la voce ODP.NET nell'elenco di riferimento.