sql >> Databasteknik >  >> RDS >> Oracle

.net-enhetsramverk med oracle 11g

Det verkar som att den hanterade drivrutinen inte kan lösa TNS-namn. Du bör se till att din konfiguration är korrekt (se Dokumentation ).

Till exempel:

<oracle.manageddataaccess.client>
  ...
  <settings>
    ...
    <setting name="TNS_ADMIN" value="C:\path\where\TNSNAMESFILE\is"/>
    ...
  </settings>
  ...
</oracle.manageddataaccess.client>

Du kan också behöva konfigurera leverantörens fabrik om den inte redan har definierats i machine.config :

<system.data>
  <DbProviderFactories>

    <remove invariant="Oracle.ManagedDataAccess.Client" />
    <add name="ODP.NET, Managed Driver"
      invariant="Oracle.ManagedDataAccess.Client"
      description="Oracle Data Provider for .NET, Managed Driver"
      type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  </DbProviderFactories>
</system.data>

För övrigt noterade jag att du nämner Oracle.ManagedDataAccessDTC som den hanterade drivrutinen. Observera att Oracle.ManagedDataAccessDTC faktiskt är den komponent som ger stöd för distribuerade transaktioner, medan huvuddrivrutinsamlingen kallas "Oracle.ManagedDataAccess".




  1. Mac OS X + Python + Django + MySQL

  2. ORA-31011:XML-tolkning misslyckades - ogiltiga tecken (oracle sql)

  3. mySQL init-skript körs inte med docker-compose

  4. Hur avgör man om NULL finns i en array i Postgres?