Ho scaricato ODAC121021Xcopy_32bit dal sito Oracle ed estratto lo zip e installato utilizzando il file install.bat.
Ho affrontato lo stesso problema. Grazie Omaraguirre. Come affermato da Omaraguirre, ha fatto riferimento a Oracle.ManagedDataAccess.dll e il problema è stato risolto. Potrei aprire la connessione senza alcun problema.
Ma volevo capire perché Oracle.DatAccess.dll genera un'eccezione di riferimento Null durante il tentativo di aprire la connessione. Ho scoperto che le dll di supporto come (oci.dll, ociwin32.dll ecc.) sono necessarie per aprire la connessione senza errori. Quindi ho copiato tutti i file dll da instantclient_12_1 (questa cartella si trova all'interno della cartella ODAC121021Xcopy_32bit estratta) nella directory bin installata di Oracle (C:\oracle\bin , nella mia macchina). Ora Oracle.DataAccess.dll non genera errori all'apertura della connessione.
Un'altra cosa è che Oracle.ManagedDataAccess.dll caricherà internamente tutti i file dll di supporto. Ma Oracle.DataAccess.dll richiede che le dll di supporto siano presenti nella directory dell'app in esecuzione (in caso di app console/WinForm) o nella directory bin installata di Oracle (in caso di app Web). Differenza tra Oracle.DataAccess.dll e Oracle. Le dll ManagedDataAccess.dll possono essere trovate su https://docs.oracle .com/database/121/ODPNT/intro003.htm#ODPNT131