Eu estive investigando mais esse problema, e você simplesmente precisa pegar todas as DLLs apropriadas da mesma versão baixada do ODP.Net e colocá-las na mesma pasta do seu arquivo Exe, porque o ODP.Net é exigente em não misturar números de versão.
Eu expliquei como fazer isso aqui:http://splinter.com.au/using-the-new-odpnet-to-access-oracle-from-cAqui está a essência disso:
- Baixar ODP.Net
- Descompacte o arquivo
- Descompacte todos os JARs nele
- Pegue essas dll's que acabaram de ser descompactadas:
- oci.dll (renomeado de 'oci.dll.dbl')
- Oracle.DataAccess.dll
- oraociicus11.dll
- OraOps11w.dll
- orannzsbb11.dll
- oraocci11.dll
- ociw32.dll (renomeado de 'ociw32.dll.dbl')
- Coloque todas as DLLs na mesma pasta do seu executável C#