Nejjednodušším způsobem, jak problém vysvětlit, je poukázat na rozdíl mezi klientskými knihovnami Oracle a klientskými knihovnami ODAC.
Na 64bitovém počítači (Windows 7+) musíte mít nainstalovaného 64bitového klienta Oracle. Toto je klient, který bude váš počítač používat pro připojení k databázím Oracle, které jsou nasazeny lokálně na vašem počítači. Pro aplikace hostované na webovém serveru nebo jiném terminálovém serveru je pravidlo stejné.
Trik je v tom... jako vývojář musí mít naše stroje také nástroje .Net IDE. Oracle má mizernou konvenci pojmenování, ale v podstatě existují 2 části:ODT (nástroje) a ODAC (přístup k datům). Poskytovatel dat ODP.Net je součástí knihoven ODAC.
Takže... zpět k IDE... Visual Studio je 32bitové, a proto musíme nainstalovat výše uvedené nástroje do 32bitové verze.
Při vývoji, ladění atd. VS.Net používá ke spolupráci s Oracle 32bitové klientské knihovny a knihovny pro přístup k datům.
Jakmile tuto aplikaci nasadíte do počítače, použije jakéhokoli klienta, který je na počítači načten, pokud není cílena konkrétní platforma.
To znamená, že pokud zacílíte na 32 a nasadíte na 64, zlomí se... a naopak. Nejlepší, co uděláte, je nechat to na libovolné platformě a jednoduše si vzpomenout, co sakra děláte :)
Další věc, na kterou je třeba být opatrný, je zajistit, aby váš klient i balíček ODAC měly stejnou verzi... nechcete mít klienta 11g R2 a 11g R5 ODAC, protože jakmile nasadíte, zase se rozbije blbost.
Upozornění zde je, pokud si přejete „vložit“ klienta Oracle do vaší aplikace, v takovém případě je s aplikací nasazen OraOps spolu s několika dalšími knihovnami – nazývá se to Oracle's Instant Client a je také součástí balíčku ODAC a je součástí. v jejich plnohodnotném klientském balíčku.
Dobrá zpráva...
Oracle brzy (Q1 2013) vydá svůj další balíček ODP.Net... který bude plně spravovanou knihovnou kódu... což znamená, že už žádný samostatný klient nebo balíček ODAC, který by se měl shodovat, a platforma bude ignorovat 32 a 64bitové rozdíly... bude fungovat podobně jako stará knihovna Microsoftu, ale bude vytvořena a udržována společností Oracle s robustnější sadou funkcí. Jen bych si přál, aby to dorazilo dříve.