Ich habe ein Desktop-App-Setup erstellt, das eine Verbindung mit der fernen Oracle 10g-Datenbank herstellt. Wenn ich Setup auf einem Remote-Computer installiere und meine Anwendung ausführe, erhalte ich folgende Fehlermeldung:
system.data.oracleclient requires Oracle client software version 8.1.7 or greater
Es funktioniert gut auf meiner Entwicklungsmaschine.
Die Fehlermeldung ist ziemlich selbsterklärend: Für Ihre Anwendung muss der Oracle-Client auf dem Computer installiert sein, auf dem sie ausgeführt wird. Ihr Entwicklungs-PC hat es schon. Stellen Sie sicher, dass auch Ihr Ziel-PC über diese verfügt.
Bearbeiten: Der System.Data.OracleClient-Namespace ist veraltet. Stellen Sie sicher, dass Sie den nativen Treiber Ihres Datenbanksystems verwenden. Dies wäre ODP.NET von Oracle .
Es handelt sich um eine Sicherheitslücke. Um dies zu beheben, führen Sie einfach die folgenden Schritte aus:
Rufen Sie C:\app\insolution\product\11.2.0\client_1\BIN auf und suchen Sie nach oci.dll. Klicken Sie mit der rechten Maustaste darauf -> Eigenschaften -> Klicken Sie unter der Registerkarte Sicherheit auf Bearbeiten -> Klicken Sie dann auf Hinzufügen -> Fügen Sie hier zwei neue Benutzer mit den Namen IUSR und IIS_IUSRS hinzu, und geben Sie ihnen vollständige Steuerelemente. Das ist es.
Starten Sie nach der Installation von Oracle Client 11.02.04 den Server neu und stellen Sie sicher, dass USERS (Local Computer) mit Vollzugriff im Stammordner für beispielsweise WWW hinzugefügt wird
Getestet hat es funktioniert.
Auf Ihrem Remote-Computer muss System.Data.OracleClient auf einige Oracle-DLLs zugreifen, die nicht Teil von .Net sind. Lösungen:
Auf Ihrem lokalen Computer ist der Pfad zum Oracle-Client höchstwahrscheinlich bereits in der Umgebungsvariable Path enthalten, in der die erforderliche DLL für die Anwendung verfügbar ist, jedoch nicht auf dem Remote-Computer
Wenn Sie den älteren Client verwenden müssen, ist hier meine Erfahrung.
Wir betreiben einen 32-Bit-Server, so dass die Entwicklungsmaschinen den 32-Bit-Client ausführen. Wir führen die 11.1-Installation aus, 11.2 erhält den Fehler. Nachdem Sie die Version 11.2 installiert haben, müssen Sie die Dateien Oracle.Web.dll
und System.Data.OracleClient.dll
aus dem %windir%\Microsoft.NET\Framework\v2.0.50727
manuell löschen, 11.1 neu installieren und dann die DLLs mit gacutil.exe
registrieren.
Das Problem mit meinen Systemen wurde behoben.