sql >> Database teknologi >  >> RDS >> Oracle

Hvorfor ville Oracle.ManagedDataAccess ikke fungere, når Oracle.DataAccess gør?

Rækkefølgen for løsning af TNS-navne i ODP.NET, Managed Driver er denne (se her):

  1. datakildealias i afsnittet "datakilder" under afsnittet i .NET-konfigurationsfilen.
  2. datakildealias i filen tnsnames.ora på den placering, der er angivet af 'TNS_ADMIN' i .NET-konfigurationsfilen.
  3. datakildealias i filen tnsnames.ora, der findes i samme mappe som .exe.
  4. datakildealias i filen tnsnames.ora til stede ved %TNS_ADMIN% (hvor %TNS_ADMIN% er en miljøvariabelindstilling).
  5. datakildealias i filen tnsnames.ora, der findes på %ORACLE_HOME%\network\admin (hvor %ORACLE_HOME% er en miljøvariabelindstilling).

Jeg tror, ​​at grunden til, at dit eksempel fungerer med Oracle.DataAccess, men ikke med Oracle.ManagedDataAccess, er, at Windows-registreringsbaseret konfiguration ikke understøttes for sidstnævnte (se dokumentationen) - ODP.NET-installationen indstiller en ORACLE_HOME-registreringsnøgle (HLKM\SOFTWARE\Oracle \Key_NAME\ORACLE_HOME), som kun genkendes af den ikke-administrerede del.



  1. Sådan indstilles en standardværdi for en eksisterende kolonne

  2. Gem data på arabisk i MySQL-databasen

  3. java.sql.SQLException:Ingen passende driver fundet til jdbc:microsoft:sqlserver

  4. Den nemmeste måde at tilføje flere mellemrum til en streng i MySQL – SPACE()