2016-05-27 6 views
1

Ich versuche, SQL Loader zu verwenden, um Daten in meiner Tabelle aus einer CSV-Datei zu laden.SQL * Loader-128: Sitzung kann nicht gestartet werden

< --- load.sh ->

ORACLE_HOME=/oracle/OraHome11g 
export ORACLE_HOME 
PATH=/oracle/OraHome11g/bin 
export PATH 
$ORACLE_HOME/bin/lsnrctl start 
sqlldr RETAIL_FIN/[email protected] control=LBR.ctl 

< --- load.ctl ->

load data 
    infile '/home/tclfin/LBR.ctl' 
    into table LOAN_BALANCE_MASTER_INT 
    fields terminated by ',' optionally enclosed by '"' 
    (ACCOUNT_NO,CUSTOMER_NAME,LIMIT) 

Nach der Ausführung des Skripts ich erhalte den folgenden Fehler:

LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.2.0 - Production on 27-MAY-2016 16:14:34 

Copyright (c) 1991, 2010, Oracle. All rights reserved. 

TNS-01106: Listener using listener name LISTENER has already been started 

SQL*Loader: Release 11.2.0.2.0 - Production on Fri May 27 16:14:34 2016 

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 

SQL*Loader-128: unable to begin a session 
ORA-01017: invalid username/password; logon denied 

Dank

Antwort

6

Das $ in Ihrem Passwort wird als Referenz für die Umgebungsvariable angesehen, oder in diesem Fall $1 als erstes Argument für das Skript - das wahrscheinlich null ist. Das tatsächlich verwendete Kennwort an Oracle ist RETAIL_FIN23, nicht RETAIL_FIN$123.

Ihr Skript das $ -Zeichen entkommen muss:

sqlldr RETAIL_FIN/RETAIL_FIN\[email protected] control=LBR.ctl 

Sie den gleichen Effekt sehen können ganz einfach:

$ echo sqlldr RETAIL_FIN/[email protected] control=LBR.ctl 
sqlldr RETAIL_FIN/[email protected] control=LBR.ctl 
$ echo sqlldr RETAIL_FIN/RETAIL_FIN\[email protected] control=LBR.ctl 
sqlldr RETAIL_FIN/[email protected] control=LBR.ctl 
+0

Danke, es hat funktioniert. –

Verwandte Themen