Использование переменных в строке подключения SQL * Plus - PullRequest
0 голосов
/ 29 февраля 2012

У меня есть подпрограмма SQL * Plus, встроенная в скрипт KornShell (ksh).

Пока я жестко кодирую свой SID в строке подключения, вся подпрограмма работает как задумано.

Однако, в зависимости от того, нахожусь ли я в режиме отладки или производственном режиме, будет зависеть от того, к какому SID я хочу подключиться.

Когда я пытаюсь использовать переменную вместо жестко закодированного SID, внутриСтрока подключения, она постоянно выдает ошибки.

Я пробовал одинарные кавычки, двойные кавычки, фигурные скобки, обратную косую черту $ и т. д.

Но ничего, что я пробовал,если не считать жесткого кодирования SID в этой строке подключения, похоже, работает.

Вот пример моей строки подключения:

sqlplus UserID / "Passwd" @ (ОПИСАНИЕ = (ADDRESS = (PROTOCOL =)TCP) (HOST = HostID) (PORT = Порт)) (CONNECT_DATA = (SID = $ ORASID)))

Помните, что это работает, если я просто жестко кодирую SID:

sqlplus UserID/"Passwd"@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = HostID)(PORT = Port))(CONNECT_DATA = (SID = OraSID)))

Может кто-нибудь сказать мне, как я могу заставить SID работать как переменная ввода?

Заранее спасибо.

1 Ответ

0 голосов
/ 15 мая 2012

Это работает для меня:

sqlplus -s $user/$password@$SID

и вот так:

sqlplus -s $myLogin

где $ myLogin = пользователь / пароль @ SID

...