SQLLoader с паролем, который содержит @ -signs - PullRequest
4 голосов
/ 12 мая 2010

В Windows XP я запускаю sqlloader.exe для загрузки данных в Oracle. Это прекрасно работает, пока мой пароль не содержит @ -sign, который также используется параметрами sqlloader для определения базы данных для подключения: sqlldr.exe userid / password @ database control = ctrlfile.ctl

Как я могу заставить sqlldr.exe принимать пароль типа p @ ssword?

Я пробовал с одинарными / двойными кавычками: sqlldr.exe "user / p @ ssword" @database без успеха. Я попытался пропустить весь пароль пользователя, набрать его на консоли, но безуспешно.

Даже Google не мог мне помочь (хотя это привело меня на этот замечательный сайт).

Ответы [ 2 ]

5 голосов
/ 27 июня 2011

Также не удастся использовать parfile. Вам просто нужно экранировать пароль с помощью \ "следующим образом: username / \" p @ ssword \ "@ database

Не знаю, почему никто не опубликовал это решение раньше.

Ура, Бернардо

0 голосов
/ 12 мая 2010

Вы пробовали это с файлом параметров? Я думаю, что это позволит вам иметь любой пароль, который вы хотите. С сайта Oracle:

PARFILE = path_ file_name

Говорит SQL Загрузчику, чтобы он считывал значения параметров командной строки из текстового файла. Этот текстовый файл называется файлом параметров и содержит пары ключевое слово / значение. Обычно пары ключевое слово / значение разделяются переносами строк. Использование параметра PARFILE может сэкономить много времени на ввод, если вам нужно выполнить одну и ту же загрузку несколько раз, потому что вам не нужно каждый раз вводить все параметры командной строки. Для файлов параметров расширение по умолчанию отсутствует. *

...