Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle.DataAccess non disponible pour la sélection dans Visual Studio 2013

Oui, Visual Studio est une application 32 bits.

Cela dépend de votre cible de compilation (x86 ou x64 ou AnyCPU ) quel client Oracle vous avez besoin pour exécuter/déboguer votre application, quelle que soit l'architecture de Visual Studio.

AnyCPU fonctionnera en 64 bits sur un Windows 64 bits (ce qui est très probablement le cas)

Oracle.DataAccess n'apparaît pas car il s'agit d'un assemblage 64 bits mais votre Visual Studio est 32 bits.

Il existe plusieurs solutions :

  1. Dans Add References utilisez le Browse section et localisez Oracle.DataAccess.dll manuellement. Généralement, vous le trouverez dans le dossier %ORACLE_HOME%\odp.net\bin\2.x\ ou %ORACLE_HOME%\odp.net\bin\4\

  2. Ouvrez votre *.csproj , rép. *.vbproj fichier avec un éditeur de texte et ajoutez une référence manuellement, c'est-à-dire ajoutez des lignes comme celle-ci sous l'élément <ItemGroup> :

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

    Remarque :des attributs tels que Version=... ou processorArchitecture=... ne sont pas nécessaires. Votre application chargera le bon Oracle.DataAccess.dll en fonction de l'architecture sélectionnée et du framework .NET cible (à condition qu'il soit correctement installé - également sur votre machine cible)

  3. Installez les clients Oracle x86 et x64 sur votre machine. Voici une instruction comment procéder :Stack Overflow - Install Oracle x86 and x64

  4. Utilisez le pilote géré ODP.NET d'Oracle. Vous pouvez le télécharger ici :Téléchargements Oracle Data Access Components (ODAC) 64 bits Cela fonctionne également avec les applications 32 bits.

  5. Ouvrez votre éditeur de registre et vérifiez si RegKey HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ODP.NET rép. HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\ODP.NET exister. Les deux RegKeys contiennent uniquement le (Default) valeur avec l'emplacement de votre Oracle.DataAccess.dll .

    Exemple :

    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. Vérifiez votre Framework cible dans les options de compilation. Lorsque vous avez installé ODP.NET version 4.x, vous devez sélectionner la cible .NET Framework 4 ou supérieur afin de voir l'entrée ODP.NET dans la liste de référence.