2015-06-13 2 views
0
sqlldr "xxxx/[email protected]" control=/home/local/INTERNAL/xxxxx/Presc_SQLLDR_File/Presc_SQLLDR.ctl log=/home/local/INTERNAL/xxxxx/Presc_SQLLDR_File/Presc_log.log data=home/achand/Presc_SQLLDR_File/Presc_SQLLDR.ctl 

Всякий раз, когда я пытаюсь выполнить SQLLDR Я получаю ниже ошибкиSQL * Loader-704 и ORA-12154

SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0] 
ORA-12154: TNS:could not resolve the connect identifier specified 

Я попытался tnsping YYYYYXXXX

Я получил ниже ошибки

TNS-03505: Не удалось определить имя

tnsnames.ora содержит

DDCPPSD.WORLD = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXXXXYYY)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SID = YYYYYXXXX) 
    ) 
) 
+0

Определен ли DDCPPSD в вашем файле tnsnames.ora, на клиентском компьютере у вас работает SQL \ * Loader? –

+0

Alex спасибо за ур ответ plz показать выше. –

+0

Работает ли 'tnsping ddcppsd.world'? Если, возможно, файл не в том месте, или TNS_ADMIN указывает на неправильное место. У вашей sqlnet.ora есть запись домена по умолчанию? –

ответ

0

Если tnsnames.ora псевдонима оп ределяется, как DDCPPSD.WORLD и ваш sqlnet.ora определяет домен по умолчанию ничего, кроме WORLD, то вам нужно полностью определить псевдоним, когда вы используете его:

tnsping DDCPPSD.WORLD 

и

sqlldr xxxx/[email protected] control=... 

В противном случае defaul t будет добавлен к неквалифицированному имени, давая вам полное имя, которое не существует в вашем tnsnames.ora.

Подробнее об этом in the documentation.

2

Эта ошибка объясняет это. Вы не указали connect string, просто имя пользователя и пароль. Поэтому Oracle пытается подключиться к локальной базе данных. Вы должны указать имя пользователя/пароль @ connect_string, где connect_string это имя для входа correspionding в клиентской стороне файла TNSNAMES.ORA (такой же строка соединения используется в SQL Developer).

0

Это сработало для меня после смены пароля. Я использовал «@» как один из специальных символов в моем пароле, который вызывал эту проблему. :(

0

Вам нужно сделать ниже изменений в летучей мыши файл.

имя пользователя/\ "р @ ssword \" @ connect_string

Наслаждайтесь.

+1

Добро пожаловать в Stackoverflow. Пожалуйста, найдите время, чтобы прочитать, как написать хороший ответ. прочитайте [this] (http://meta.stackexchange.com/a/7659/338114) и [это] (http://stackoverflow.com/help/how-to-answer) –

0

У меня была такая же проблема. Если вы пытаетесь подключить сервер к вашему TNS, вы увидите, вы не можете подключиться.

telnet your_tns_ip your_tns_port 

так что вам нужно Permition сервер для TNS. Это была моя проблема по крайней мере.

Смежные вопросы