Oracle ORA-12154 Fehler auf lokale IIS, aber nicht mit Visual Studio Development Server
Habe ich eine ASP.NET Anwendung, eine Verbindung zu Oracle beim Start von Visual Studio Development Server, aber wenn ich es bereitstellen, auf meinem lokalen IIS es nicht anschließen, zeigt die "ORA-12154: TNS:could not resolve the connect identifier specified" - Fehler.
Mein connection string:
Data Source=ABC; User Id=USER; Password=PASSWORD;
Tt ' s mit TNS Infratest. Meine tnsnames.ora befindet sich in C:\oracle\instantclient_10_2\network\admin und mein ORACLE_HOME system-variable verweist C:\oracle\instantclient_10_2.
Machen, damit es funktioniert, ich habe die Verbindungszeichenfolge:
"SERVER=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = server1.theplaceiwork.com)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = server2.theplaceiwork.com)(PORT = 1521))(LOAD_BALANCE = yes))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ABC)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC))));uid=USER;pwd=PASSWORD;"
So TNS wird nicht mehr verwendet.
Aber ich würde gerne wissen, warum ich kann eine Verbindung mit TNS während debbuging mit Visual Studio, aber bei der Verwendung von IIS kann ich nicht.
Irgendwelche Tipps?
PS. Die ich verwenden kann, SqlDeveloper mit TNS Infratest zeigt keine Verbindung Fehler.
Dank
Ja, es ist eine Entwicklungs-Maschine (Win2003).
InformationsquelleAutor Fabio | 2011-08-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie sicher, dass Netzwerk-Service-Zugriff auf Ihre TNS-Verzeichnisse oder ändern Sie Ihre App-Pool zu laufen als Sie.
Wie um zu überprüfen, Netzwerk-service hat Zugriff auf TNS Verzeichnis oder nicht ?
Meine app-pool läuft mit ApplicationPoolIdentity und ich habe Network service access TNS Verzeichnisse. Ich bin noch immer dasselbe problem. Bitte helfen
In meinem Fall, ich benutze Windows 7, IIS 7, Visual Studio 2010, das ich installiert habe 2 oracle-clients 10.2 und 11.2 (ich habe 2 TNSNNAMES.ORA in zwei verschiedenen Weg). Wenn ich mit F5 in Visual Studio verwenden 1 TNSNAME, Wenn ich IIS benutze andere ORA!!, schließlich gebe ich beide Weg voller Zugriff auf Alle Konto-Benutzer und IIS AppPool in ich AppPoolIdentity, und Es Funktioniert!.
Ich habe die Anwendung einen Pool von ApplicationPoolIdentity zur Verwendung des Netzwerk-Service und die Erlaubnis, das Netz-Service auf der Oracle-Installationsverzeichnis. Dieser arbeitete.
InformationsquelleAutor rick schott
Antwort darauf gefunden hier:
Gewähren des Zugriffs auf IIS 7.5 ApplicationPoolIdentity
Also im Grunde nur die Erlaubnis, Oracle-Ordner der App Pool für virtuelle Benutzer.
In Fall, dass Sie wollen, geben Sie Berechtigungen für alle Anwendungspools können Sie de IUSR-virtual-system-Benutzer, um die ORA_HOMENAME_SVCSIDS lokalen Gruppe
InformationsquelleAutor Jaanus
Der Unterschied ist:
InformationsquelleAutor Shiraz Bhaiji
In meinem Fall, ich benutze Windows 7, IIS 7, Visual Studio 2010. Aus irgendeinem Grund habe ich installiert 2 Oracle-clients, 10.2 und 11.2 (ich habe 2 TNSNAMES.ORA in zwei verschiedenen Weg). Wenn ich mit F5 in Visual Studio verwenden Sie eine TNSNAME, und wenn ich den IIS verwenden, Es mit den anderen TNSNAME!
Wenn ich CMD verwenden und schreiben:
Geben Sie mir die Oracle vertion ich benutze, ist: 10.2 und 11.2 nicht.
Ich versuche, schalten Sie die Windows-Firewall und nicht die Arbeit.
Ich versuche Anmeldung im IIS->AppPool mit meinem Windows-Konto und entweder nicht arbeiten.
Endlich zu beheben (nach 2 Tagen Lesen eine Menge von Lösungen in stackoverflow und andere):
Gebe ich Lesezugriff auf den Pfad C:\oracle\product und C:\app\user\product zu Jeder Benutzer-Konto, weil ich nicht gefunden Netzwerk Service Konto.
In der IIS -> AppPool, ich ApplicationPoolIdentity zu meinem Pool.
In IIS recycle ich den AppPool und Neustart meiner WebSite.
- und Es Funktioniert!
InformationsquelleAutor Hernaldo Gonzalez
Ich würde konfiguriert meine app pool für die Ausführung im Kontext von ApplicationPoolIdentity wie @Jaanus beschreibt.
Das virtuelle Konto "IIS AppPool\MyAppPoolName" erteilt lese-und execute-Berechtigung für die Oracle-Ordner, allerdings werden die Berechtigungen nicht vererbt aus diesem Ordner. Ich hatte zum Durchlaufen der Oracle-Ordner-Struktur zu sehen, wo Sie die Vererbung von Berechtigungen hielt und explizit aktivieren, es von diesem Punkt aus.
Fand ich das problem mit Process Monitor von SysInternals /Microsoft:
InformationsquelleAutor John
Posting mein Fall, denn es hat eigentlich viel zu lange, um herauszufinden.
Hatte ich keinen Zugang zur Anpassung der Ordner-Berechtigungen festlegen und die Identität des Anwendungspools nichts getan.
Endete mit Bearbeiten Sie die Anonyme Authentifizierung-Anmeldeinformationen der einzelnen Website zu meinen eigenen und den Anwendungspool zu Netzwerk Service. Hoffentlich hilft das jemand in eine ähnlich frustrierende situation eines Tages.
InformationsquelleAutor imbrion
Wenn Sie ApplicationPoolIdentity, Stellen Sie sicher, dass ApplicationPoolIdentity hat Zugang zu Ihren TNS Verzeichnisse.
Sehen hier, wie zu autorisieren:
IIS7-Berechtigungen (Übersicht) - ApplicationPoolIdentity
InformationsquelleAutor Refael
Hatte ich dieses Problem und habe versucht, alles, was oben nicht mit Glück. So posting eine weitere Sache, die übersehen werden könnten, die von der Ursache. Ihre SQL.ora Datei (im selben Verzeichnis wie die tnsnames.ora) müssen vorhanden sein, und haben TNS richtig konfiguriert:
EZCONNECT ist optional, aber es ist sehr nützlich in einigen Situationen, so mache ich es.
War es dieser Letzte Sache, die Sie befähigte, meine app zu arbeiten. Hoffe, das hilft.
InformationsquelleAutor jessewolfe