Oracle
 sql >> база данни >  >> RDS >> Oracle

Грешка при несъответствие на Oracle.DataAccess

Както каза, това е само предупреждение. Тъй като ODP.net не е „AnyCPU“, предупреждението показва, че имате зависимост, която няма да се адаптира към хост операционната система, както е вашето собствено приложение. Докато вашата odp.net инсталация съвпада с операционната система по отношение на битове, ще бъдете добре. Но компилаторът не може да направи това решение и се опитва да ви предупреди.

Намерих статия за свързване на това, което включва възможна промяна (предполагам в proj файла), за да деактивирате грешката:

<PropertyGroup>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>

Във всеки случай вашето приложение "AnyCPU" ще работи добре на вашия сървър, стига 32-битовият odp.net, който инсталирате на сървъра, да е същата версия като 64-битовия odp.net, който сте посочили (или правилата на издателя са правилно инсталирани за пренасочване към по-нова версия). За да премахна всякакво объркване, обикновено задавам "Копиране на локално" за препратка към "false". С други думи, компилирам срещу конкретна версия на dll, но я оставям да работи срещу това, което разрешава от GAC (което включва правила на издателя, които повечето от инсталациите на odp.net включват).

Можете също така да инсталирате 32-битовия odp.net на вашата машина за разработка (в идеалния случай отново същата версия), за да изпълнявате/отстранявате грешки в 32-битови приложения или да използвате интегрирания инструментариум, който идва „с Oracle Developer Tools за Visual Studio“ вътре в Visual Студио.

Всичко това каза, че тук има повече, отколкото се вижда на пръв поглед. Ако вашето приложение действително работи (което се подразбира с „това е само предупреждение“), като 64-битово, то НЕ използва вашата 32-битова инсталация. Предполагам, че вашата машина вече има инсталирана 64-битова версия (няколко домове на оракул).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предаване на масив от данни като входен параметър към процедура на Oracle

  2. ORA-00905:липсваща ключова дума грешка oracle

  3. Съхранена процедура и курсор на Oracle

  4. Oracle sql операция за обединяване на заявки?

  5. Материализиран изглед - Oracle/данните не се актуализират