sql >> Databasteknik >  >> RDS >> Oracle

Oracle.DataAccess är inte tillgängligt för val i Visual Studio 2013

Ja, Visual Studio är ett 32-bitars program.

Det beror på ditt kompileringsmål (x86 eller x64 eller AnyCPU ) vilken Oracle-klient du behöver för att köra/felsöka din applikation, oavsett arkitekturen från Visual Studio.

AnyCPU kommer att köras som 64-bitars på ett 64-bitars Windows (vilket troligen är fallet)

Oracle.DataAccess visas inte eftersom det är en 64-bitars assembly men din Visual Studio är 32-bitars.

Det finns flera lösningar:

  1. I Add References använd Browse och leta upp Oracle.DataAccess.dll manuellt. Vanligtvis hittar du den i mappen %ORACLE_HOME%\odp.net\bin\2.x\ eller %ORACLE_HOME%\odp.net\bin\4\

  2. Öppna din *.csproj , resp. *.vbproj fil med en textredigerare och lägg till referens manuellt, d.v.s. lägg till rader som denna under elementet <ItemGroup> :

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

    Obs:attribut som Version=... eller processorArchitecture=... krävs inte. Ditt program kommer att ladda rätt Oracle.DataAccess.dll beroende på vald arkitektur och mål-.NET-ramverk (förutsatt att det är korrekt installerat - även på din måldator)

  3. Installera både x86 och x64 Oracle Client på din dator. Här är en instruktion hur du gör detta:Stack Overflow - Installera Oracle x86 och x64

  4. Använd ODP.NET Managed Driver från Oracle. Du kan ladda ner den härifrån:Nedladdningar av 64-bitars Oracle Data Access Components (ODAC) Detta fungerar även med 32-bitars applikationer.

  5. Öppna din registerredigerare och kontrollera om RegKey HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NET resp. HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET existera. Båda RegKeys innehåller endast (Default) värde med platsen för din Oracle.DataAccess.dll .

    Exempel:

    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. Kontrollera ditt målramverk i kompileringsalternativ. När du har installerat ODP.NET version 4.x måste du välja mål .NET Framework 4 eller högre för att se ODP.NET-posten i referenslistan.




  1. Skillnad mellan CTE och SubQuery?

  2. Bättre ALTER än DROP

  3. Vad gör kolon tecken :i en SQL-fråga?

  4. ORACLE Connect by klausul motsvarande i SQL Server