Przyglądałem się temu problemowi dalej i wystarczy pobrać wszystkie odpowiednie pliki DLL z tej samej pobranej wersji ODP.Net i umieścić je w tym samym folderze, co plik Exe, ponieważ ODP.Net jest wybredny w kwestii niemieszania numery wersji, co jest problemem, który widzisz (albo tego, albo całkowicie brakuje pliku oci.dll, w którym to przypadku irytująco wyświetla ten sam błąd).
Wyjaśniłem, jak to zrobić tutaj:http://splinter.com.au/using-the-new-odpnet-to-access-oracle-from-c. Oto sedno tego:
- Pobierz http://www.oracle.com/technology/software/tech/windows/odpnet/index1110710beta.html
- Rozpakuj plik
- Rozpakuj wszystkie znajdujące się w nim JAR
- Pobierz te dll, które właśnie zostały rozpakowane:oci.dll (zmieniono nazwę z 'oci.dll.dbl') Oracle.DataAccess.dlloraociicus11.dllOraOps11w.dllorannzsbb11.dlloraocci11.dllociw32.dll (zmieniono nazwę z 'ociw32.dll.dbl' )
- Umieść wszystkie biblioteki DLL w tym samym folderze, co plik wykonywalny C#