La façon la plus simple d'expliquer le problème est de souligner la différence entre le client Oracle et les bibliothèques clientes ODAC.
Sur une machine 64 bits (Windows 7+), vous devez avoir installé le client Oracle 64 bits. Il s'agit du client que votre machine utilisera pour se connecter aux bases de données Oracle déployées localement sur votre machine. Pour les applications hébergées sur un serveur Web ou un autre serveur Terminal Server, la règle est la même.
L'astuce est la suivante... en tant que développeur, nos machines doivent également disposer des outils .Net IDE. Oracle a une convention de dénomination merdique, mais il y a essentiellement 2 éléments :ODT (outillage) et ODAC (accès aux données). Le fournisseur de données ODP.Net fait partie des bibliothèques ODAC.
Alors... revenons à l'IDE... Visual Studio est en 32 bits et il faut donc installer les outils ci-dessus en 32 bits.
Lors du développement, du débogage, etc. VS.Net utilise les bibliothèques clientes 32 bits et les bibliothèques d'accès aux données pour fonctionner avec Oracle.
Dès que vous déployez cette application sur une machine, elle utilise le client chargé sur la machine, sauf si une plate-forme spécifique est ciblée.
Cela signifie que si vous ciblez 32 et que vous vous déployez sur 64, il se cassera... et vice versa. La meilleure chose à faire est de le laisser dans la section n'importe quelle plate-forme, et rappelez-vous simplement ce que vous êtes en train de faire :)
L'autre chose à laquelle il faut faire attention est de s'assurer que vos packages client et ODAC sont de la même version... vous ne voulez pas avoir le client 11g R2 et 11g R5 ODAC, car dès que vous déployez, la merde se casse à nouveau.
La mise en garde ici est si vous souhaitez "intégrer" le client oracle dans votre application, auquel cas OraOps aux côtés de plusieurs autres bibliothèques sont déployées avec l'application - cela s'appelle Oracle's Instant Client, et fait également partie du package ODAC et inclus également dans leur package client complet.
La bonne nouvelle...
Oracle est sur le point (1er trimestre 2013) de publier son prochain package ODP.Net... qui sera une bibliothèque de code entièrement gérée... ce qui signifie qu'il n'y aura plus de client séparé ou de package ODAC à faire correspondre, et la plate-forme ignorera 32 et distinctions 64 bits ... il fonctionnera un peu comme l'ancienne bibliothèque Microsoft, mais il sera construit et maintenu par oracle avec un ensemble de fonctionnalités plus robuste. Je souhaite seulement qu'il arrive plus tôt.