sql >> Database >  >> RDS >> Oracle

Waarom zou Oracle.ManagedDataAccess niet werken als Oracle.DataAccess dat wel doet?

De volgorde van prioriteit voor het omzetten van TNS-namen in ODP.NET, Managed Driver is deze (zie hier):

  1. alias van gegevensbron in de sectie 'dataSources' onder sectie in het .NET-configuratiebestand.
  2. gegevensbronalias in het tnsnames.ora-bestand op de locatie gespecificeerd door 'TNS_ADMIN' in het .NET-configuratiebestand.
  3. gegevensbronalias in het bestand tnsnames.ora aanwezig in dezelfde map als .exe.
  4. gegevensbronalias in het bestand tnsnames.ora aanwezig op %TNS_ADMIN% (waarbij %TNS_ADMIN% een omgevingsvariabele is).
  5. gegevensbronalias in het bestand tnsnames.ora aanwezig in %ORACLE_HOME%\network\admin (waarbij %ORACLE_HOME% een omgevingsvariabele is).

Ik denk dat de reden waarom uw voorbeeld werkt met Oracle.DataAccess, maar niet met Oracle.ManagedDataAccess, is dat configuratie op basis van Windows-register niet wordt ondersteund voor de laatste (zie documentatie) - de ODP.NET-installatie stelt een ORACLE_HOME-registersleutel in (HLKM\SOFTWARE\Oracle \Key_NAME\ORACLE_HOME) die alleen wordt herkend door het onbeheerde deel.



  1. Kardinaliteitsschatting voor een predikaat op een COUNT-expressie

  2. SQL Server BULK INSERT van Linux

  3. Beperking in SQL controleren

  4. Postgresql verbinden met sqlalchemy