Il modo più semplice per spiegare il problema è sottolineare la differenza tra Oracle Client e le librerie client ODAC.
Su una macchina a 64 bit (Windows 7+), è necessario aver installato Oracle Client a 64 bit. Questo è il client che la tua macchina utilizzerà per connettersi ai database Oracle che sono distribuiti localmente sulla tua macchina. Per le app ospitate su un server Web o un altro server terminal, la regola è la stessa.
Il trucco è questo... come sviluppatore, le nostre macchine devono avere anche gli strumenti .Net IDE. Oracle ha una convenzione di denominazione scadente ma essenzialmente ci sono 2 pezzi:ODT (strumenti) e ODAC (accesso ai dati). Il provider di dati ODP.Net fa parte delle librerie ODAC.
Quindi... tornando all'IDE... Visual Studio è a 32 bit e quindi dobbiamo installare gli strumenti sopra a 32 bit.
Durante lo sviluppo, il debug, ecc. VS.Net utilizza le librerie client a 32 bit e le librerie di accesso ai dati per lavorare con Oracle.
Non appena distribuisci questa applicazione su una macchina, questa utilizza qualsiasi client caricato sulla macchina, a meno che non venga presa di mira una piattaforma specifica.
Ciò significa che se si punta a 32 e si schiera a 64, si romperà... e viceversa. La cosa migliore da fare è lasciarlo nella sezione di qualsiasi piattaforma e ricordare semplicemente cosa diavolo stai facendo :)
L'altra cosa a cui prestare attenzione è assicurarsi che entrambi i pacchetti Client e ODAC siano della stessa versione ... non si desidera avere 11g R2 client e 11g R5 ODAC, perché non appena si distribuisce, la schifezza si interrompe di nuovo.
L'avvertenza qui è se desideri "incorporare" il client Oracle all'interno della tua applicazione, nel qual caso OraOps insieme a molte altre librerie vengono distribuite con l'applicazione:questo è chiamato Oracle's Instant Client ed è anche una parte del pacchetto ODAC ed è incluso anche nel loro completo pacchetto Client.
Le buone notizie...
Oracle rilascerà presto (1° trimestre 2013) il prossimo pacchetto ODP.Net... che sarà una libreria di codice completamente gestita... il che significa che non ci saranno più client separati o pacchetti ODAC da abbinare, e la piattaforma ignora 32 e distinzioni a 64 bit ... funzionerà in modo molto simile alla vecchia libreria di Microsoft, solo che sarà creata e mantenuta da Oracle con un set di funzionalità più robusto. Vorrei solo che arrivasse prima.