ORA-12557 TNS: Protokolladapter nicht ladbar

8

Ich versuche, eine C # Windows Forms-Anwendung zu entwickeln, die auf das .net 4-Framework abzielt. Das Programm wird eine gespeicherte Prozedur gegen eine Oracle-Datenbank ausführen und ich bekomme den folgenden Fehler, wenn ich versuche, die Verbindung zur Datenbank zu öffnen.

ORA-12557 TNS: Protokolladapter nicht ladbar

Ich entwickle das in Visual Studio 2012 und habe es geschafft, den Server Explorer erfolgreich mit der Datenbank verbinden zu lassen, aber ich bekomme diesen Fehler durch meine Anwendung.

Ich habe zwei Oracle 11g-Clients auf meinem Rechner. Einer ist 32bit und der andere ist 64bit. Ich brauche beide für verschiedene Anwendungen, so dass es nicht möglich ist, einen zu entfernen. Ich habe auch versucht, die Reihenfolge der Oracle Home-Verzeichnisse in der PATH-Variable zu ändern. Momentan habe ich die 64bit eine erste, mit der ich mich verbinden möchte.

Ich verbinde meine Anwendung mit der Datenbank unter Verwendung von ODP.NET und habe die DLL aus der 64-Bit-Anwendung referenziert.

Soweit ich das beurteilen kann, habe ich getan, was vorgeschlagen wurde, und habe es nicht geschafft, es zum Laufen zu bringen. Wenn jemand helfen könnte, würde es geschätzt werden.

    
James Randles 29.01.2014, 09:28
quelle

3 Antworten

10

Der ORA-12577-Fehler bezieht sich auf Windows Environment oder Oracle Home PATH, da der Befehl sqlplus reibungslos funktioniert, wenn ich ihn innerhalb von ORACLE_HOME \ bin ausführe. Aufgrund von zwei oder mehr Oracle-Installationen (z. B. Datenbank und Companion) in separaten ORACLE_HOME-Dateien auf diesem Computer deaktivieren Sie den Wert ORACLE_HOME in Ihrem Fenster Für Details folgen Sie bitte den folgenden Schritten und hoffen, dass Sie die Lösung bekommen. Ссылка

    
Talha Hanjra 29.01.2014, 09:36
quelle
2

Das grundlegende Problem besteht darin, dass DLLs in der Oracle-Sofort-Clientinstallation fehlen, die in der RDBMS-Serverinstallation vorhanden sind, die die Anwendung benötigt. Deshalb funktioniert das Wechseln von Oracle-Homes von client_1 zu db_1 nicht als reines PATH-Problem.

sqlplus funktioniert in beiden Situationen, weil es den minimalen Satz von DLLs verwendet, die in beiden Oracle-Installationen vorhanden sind.

    
Tony Dare 09.01.2015 19:12
quelle
1

Hier sind ein paar Dinge zu überprüfen. Vergessen Sie nicht, # 3 bei Bedarf zu versuchen, es behebt das Problem für mich!

  1. Stellen Sie sicher, dass alle Oracle-Dienste gestartet sind
  2. Stellen Sie sicher, dass Umgebungsvariablen festgelegt sind (PATH, ORACLE_SID = ORALOCAL, TNS_ADMIN = C: \ Dev \ Oracle \ Produkt \ 11.2.0 \ dbhome \ NETWORK \ ADMIN)
  3. Versuchen Sie, die Werte der Path-Umgebungsvariablen wie folgt zu verschieben: "D: \ Dev \ Oracle \ Produkt \ 11.2.0 \ dbhome \ bin" vor dem "D: \ dev \ Oracle \ produkt \ 11.2.0 \ client_32 \ bin" in der Reihenfolge

Fissh

    
gadildafissh 20.08.2015 17:37
quelle