Най-лесният начин да обясните проблема е да посочите разликата между Oracle Client и ODAC клиентските библиотеки.
На 64-битова машина (Windows 7+) трябва да имате инсталиран 64-битов Oracle Client. Това е клиентът, който вашата машина ще използва за свързване към бази данни на Oracle, които са разположени локално на вашата машина. За приложения, хоствани на уеб сървър или друг терминален сървър, правилото е същото.
Номерът е следният... като програмист, нашите машини също трябва да имат .Net IDE инструменти. Oracle има скапана конвенция за именуване, но по същество има 2 части:ODT (инструменти) и ODAC (достъп до данни). Доставчикът на данни ODP.Net е част от библиотеките на ODAC.
И така... обратно към IDE... Visual Studio е 32-битова и следователно трябва да инсталираме инструментите по-горе в 32-битова.
Докато разработва, отстранява грешки и т.н., VS.Net използва 32-битовите клиентски библиотеки и библиотеките за достъп до данни, за да работи с Oracle.
Веднага след като внедрите това приложение на машина, то използва всеки клиент, който е зареден на машината, освен ако не е насочена конкретна платформа.
Това означава, че ако насочите 32 и разгърнете до 64, ще се счупи... и обратното. Най-доброто нещо, което можете да направите, е да го оставите в раздела на всяка платформа и просто да запомните какво, по дяволите, правите :)
Другото нещо, с което трябва да внимавате, е да се уверите, че вашите клиентски и ODAC пакети са от една и съща версия... не искате да имате 11g R2 клиент и 11g R5 ODAC, защото веднага щом внедрите, глупостите се повреждат отново.
Предупреждението тук е, ако искате да „вградите“ клиента на Oracle във вашето приложение, в който случай OraOps заедно с няколко други библиотеки се разполагат с приложението - това се нарича Instant Client на Oracle и също е част от пакета ODAC и е включен също и в техния пълноценен клиентски пакет.
Добрата новина...
Oracle скоро (първото тримесечие на 2013 г.) ще пусне следващия си пакет ODP.Net... който ще бъде библиотека с напълно управляван код... което означава, че няма повече отделен клиент или ODAC пакет, който да съответства, и платформата няма да знае за 32 и 64-битови разграничения... ще функционира подобно на старата библиотека на Microsoft, само че ще бъде изградена и поддържана от Oracle с по-стабилен набор от функции. Само ми се иска да пристигне по-скоро.