Stáhl jsem ODAC121021Xcopy_32bit z webu Oracle a extrahoval zip a nainstaloval pomocí souboru install.bat.
Potýkal jsem se se stejným problémem. Díky Omaraguirre. Jak uvedl Omaraguirre, odkazoval se na Oracle.ManagedDataAccess.dll a problém byl vyřešen. Dokázal jsem bez problémů otevřít připojení.
Ale chtěl jsem zjistit, proč Oracle.DatAccess.dll při pokusu o otevření spojení vyvolá výjimku reference Null. Zjistil jsem, že k bezchybnému otevření připojení jsou vyžadovány podpůrné dll jako (oci.dll, ociwin32.dll atd.). Zkopíroval jsem tedy všechny soubory dll z instantclient_12_1 (tato složka se nachází v extrahované složce ODAC121021Xcopy_32bit) složky do adresáře instalovaného koše oracle (C:\oracle\bin , v mém stroji). Nyní Oracle.DataAccess.dll nevyvolá chybu při otevírání připojení.
Ještě jedna věc je, že Oracle.ManagedDataAccess.dll načte všechny podpůrné dll soubory interně. Oracle.DataAccess.dll však vyžaduje, aby byly podpůrné knihovny dll přítomny v adresáři spouštějící aplikace (v případě aplikací konzole/WinForm) nebo v adresáři bin nainstalovaného oracle (v případě webové aplikace). Rozdíl mezi Oracle.DataAccess.dll a Oracle. DLL ManagedDataAccess.dll lze nalézt na adrese https://docs.oracle .com/database/121/ODPNT/intro003.htm#ODPNT131