J'ai téléchargé ODAC121021Xcopy_32bit du site Oracle et extrait le zip et installé à l'aide du fichier install.bat.
J'ai fait face au même problème. Merci Omaraguirre. Comme indiqué par Omaraguirre, a référencé Oracle.ManagedDataAccess.dll et le problème a été résolu. J'ai pu ouvrir la connexion sans aucun problème.
Mais je voulais comprendre pourquoi Oracle.DatAccess.dll lève une exception de référence Null tout en essayant d'ouvrir la connexion. J'ai trouvé que les dll de support comme (oci.dll, ociwin32.dll etc.) sont nécessaires pour ouvrir la connexion sans erreur. J'ai donc copié tous les fichiers dll de instantclient_12_1 (ce dossier se trouve dans le dossier ODAC121021Xcopy_32bit extrait) vers le répertoire bin installé oracle (C:\oracle\bin , dans ma machine). Désormais, Oracle.DataAccess.dll ne génère plus d'erreur lors de l'ouverture de la connexion.
Une dernière chose est qu'Oracle.ManagedDataAccess.dll chargera tous les fichiers dll de prise en charge en interne. Mais Oracle.DataAccess.dll nécessite que les DLL de prise en charge soient présentes dans le répertoire de l'application en cours d'exécution (dans le cas d'applications console/WinForm) ou dans le répertoire bin installé par Oracle (dans le cas d'une application Web). Différence entre Oracle.DataAccess.dll et Oracle. Les dll ManagedDataAccess.dll peuvent être trouvées @ https://docs.oracle .com/database/121/ODPNT/intro003.htm#ODPNT131