ODP.NET Managed - Der angeforderte .Net Framework Data Provider konnte nicht gefunden werden

8

Mit Visual Studio 2013 habe ich die neueste Version von ODP.NET Managed einem Projekt hinzugefügt, das Nuget verwendet:

%Vor%

Ссылка

Wenn ich jetzt versuche, den folgenden Code auszuführen:

%Vor%

Es löst die folgende Ausnahme aus:

%Vor%

Nachdem ich die ähnlichen Probleme anderer Benutzer gelesen hatte, fügte ich den Abschnitt Verwaltete Treiber zu C: \ Windows \ Microsoft.Net \ Framework64 \ v4.0.30319 \ Config \ machine.config:

hinzu %Vor%

Aber das hatte keinen Einfluss.

Ich habe die Verbindungszeichenfolge als solche in meiner web.config angegeben, aber ich bin mir nicht sicher, ob es überhaupt nach dem Verbindungszeichenfolgeformat sucht, da es fehlschlägt, bevor ich die Verbindung öffne:

%Vor%

Ich habe meiner Web-Konfiguration Folgendes hinzugefügt:

%Vor%     
TimeBomb006 19.08.2014, 17:17
quelle

3 Antworten

7

Ich würde mit einem direkten Test beginnen und die Fabrikmethoden vermeiden:

%Vor%

Alle hier auftretenden Probleme beziehen sich entweder auf die Oracle.ManagedDataAccess.dll, die im Verzeichnis bin fehlt, oder auf Verbindungsprobleme, die durch die Verbindungszeichenfolge verursacht werden (vorausgesetzt, Sie können bereits auf andere Weise eine Verbindung zur Oracle-Instanz herstellen).

Wie für die Fabrik sieht es so aus, als ob Sie einen veralteten Code für die Unternehmensbibliothek verwenden. In späteren Versionen des Frameworks glaube ich, dass Sie verwenden würden:

%Vor%

Ich denke, wenn du es einen Schritt nach dem anderen machst, bekommst du besseres Feedback.

    
b_levitt 20.08.2014, 21:40
quelle
12

Ich habe diesen Fehler erhalten, als ich eine ASP.NET MVC 5-Anwendung mit EntityFramework 5 auf unserem 64-Bit-Server bereitgestellt habe, auf dem die 64-Bit-Version der ODAC-Clientkomponenten installiert war.

Ich folgte der Empfehlung von b_levitt und bestätigte, dass die Verbindung manuell geöffnet werden konnte, ohne die Fabriken zu verwenden. Daher wurde ODAC installiert und funktionierte, aber die Factory-Methoden konnten die Baugruppen nicht lokalisieren.

Nachdem ich meine Haare für eine unbekannte Zeit gezogen hatte, stellte ich fest, dass das Problem in der Datei machine.config für die 32-Bit-Version des .NET-Frameworks lag. Da die Einträge für die Oracle-Provider nicht enthalten waren, habe ich diese Datei manuell hinzugefügt:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config

Unter

%Vor%

stellen Sie sicher, dass Sie die folgenden zwei Abschnittsgesamtheiten haben:

%Vor%

Sie können die genauen Einträge von Ihrer Datei machine.config unter dem Ordner framework64 erhalten.

Als nächstes, unter

%Vor%

Stellen Sie sicher, dass Sie die folgenden zwei Fabriknamen haben:

%Vor%

Nach dem Hinzufügen dieser Einträge funktionierte alles für mich.

    
Yves Rochon 25.09.2014 13:28
quelle
2

Ich habe meine Änderung der IIS-Anwendungspool -Konfiguration für Enable 32-bit Application bis FALSE .

Ich habe die Ausnahme Failed to find or load the registered .Net Framework Data Provider erhalten, weil das ODAC, das ich installiert habe, für 64-bit gilt und mein App-Pool die App läuft unter 32-bit .

    
Mariano Desanze 19.12.2016 20:53
quelle

Tags und Links