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, que é o problema que você está vendo (ou isso ou o oci.dll está totalmente ausente, nesse caso ele dá irritantemente o mesmo erro).
Eu expliquei como fazer isso aqui:http://splinter.com.au/using-the-new-odpnet-to-access-oracle-from-cAqui está a essência disso:
- Baixe http://www.oracle.com/technology/software/tech/windows/odpnet/index1110710beta.html
- Descompacte o arquivo
- Descompacte todos os JARs nele
- Pegue essas dlls que acabaram de ser descompactadas:oci.dll (renomeado de 'oci.dll.dbl')Oracle.DataAccess.dlloraociicus11.dllOraOps11w.dllorannzsbb11.dlloraocci11.dllociw32.dll (renomeado de 'ociw32.dll.dbl' )
- Coloque todas as DLLs na mesma pasta do seu executável C#