FEHLER 704 & 12154 beim verbinden mit sqlloader server
Ich habe eine oracle-Datenbank basiert auf einem server, und ich möchte den import der Daten in die Tabellen auf dem server.
Ich bin versucht, sqlloadr(sqlldr) zum einfügen aller Daten in die oracle-Datenbank, die auf "localhost" und es ist kein problem, in diesem Fall, aber das problem tritt auf während ich versuche, schließen Sie einen web-server(nicht localhost).
Den Befehl, den ich verwendet habe im localhost Fall:
sqlldr <usrname>/<password> control=table.ctl log=table.log ERRORS=25000
und Folgendes ist in Bezug auf web-server
sqlldr <usrname>/<password>@LABSERVER control=table.ctl log=table.log ERRORS=25000
wo ich erstellt eine tnsnames.ora wie folgt:
LABSERVER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = <hostaddress>)(Port = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = <servicename>)
)
)
aber bekam ich diese Fehlermeldung:
SQL*Loader-704: Internal error: ulconnect:OCIServerAttache [0]
ORA-12154: TNS:could not resolve the connect identifier specified
Jede Idee wird dankbar sein
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das scheint zu bedeuten, die Sie gebucht haben, die TNSNAMES.ORA-Datei aus dem Datenbank-server.
Denken Sie daran, Sie brauchen auch eine TNSNAMES.ORA-Datei auf dem client. Ist das richtig konfiguriert zu haben?
Wir hatten ein ähnliches Problem und hat keine Rechte zum ändern tnsnames.ora auf lokale, so dass wir hatten, um den Dienst anzugeben, in dem Kommandozeilen-wie:
sqlldr userid=username/password@\"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myDBHost)(PORT= 1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=MYDBSID)))\" Control='mytable.ldr' Log='mytable.log'
Dank https://hs2n.wordpress.com/2012/06/12/oracle-using-sqlplus-and-sqlldr-on-databases-without-tnsnames-entry/#comment-700
Grundsätzlich dieser Fehler ist Ihnen zu sagen, dass angesichts der host, port, Protokoll und service_name den client nicht finden konnte, ein Zuhören, Oracle service. Stellen Sie sicher, dass Ihr hostname gültig ist (z.B., Sie können es ping), dass der Hörer hört 1521, und dass die service_name in der server-Datenbank ist wirklich der name, den Sie angegeben haben. Sie können überprüfen Sie durch ausführen dieses Befehls in sqlplus:
die Ihnen sagt, was die Datenbank die Registrierung selbst als mit dem Hörer.
Für diejenigen, wie mich, die diesen thread gefunden.
Eine Sache zu prüfen: Datei Berechtigungen auf die tnsnames.ora-Datei.
Für Kunden auf der gleichen Maschine noch nicht Teil der DBA-Gruppe und mit ORACLE_HOME und ORACLE_BIN korrekt eingestellt Betreff Fehler gemeldet wurde. Datei-Berechtigungen der tnsnames.ora-Datei ausgeschlossen Welt Lesen Sie, wie der tnsnames.ora Datei konnte nicht gelesen werden 704 /12514 geworfen als service name konnte nicht aufgelöst werden.
Aus der Eingabeaufforderung eingeben: chmod 644 $ORACLE_HOME/network/admin/tnsnames.ora
wenn Ihr Passwort ein @ Zeichen , dann sqlldr-Dienstprogramm nicht funktioniert , ändern Sie das ur-Passwort, es wird funktionieren
http://www-01.ibm.com/support/docview.wss?uid=swg21347615