我在KornShell(ksh)脚本中嵌入了一个SQL * Plus例程。
只要我在连接字符串中对我的SID进行硬编码,整个例程就会按预期工作。
但是,取决于我是处于调试模式还是生产模式,将取决于我想要连接到哪个SID。
当我尝试在连接字符串内部使用变量代替硬编码SID时,它会不断出错。
我尝试过单引号,双引号,大括号,反对$
等等。
但是,我没有尝试过,没有在此连接字符串中对SID进行硬编码似乎有效。
以下是我的连接字符串示例:
sqlplus UserID /“Passwd”@(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = HostID)(PORT = Port))(CONNECT_DATA =(SID = $ ORASID)))
请记住它是有效的,如果我只是对SID进行硬编码:
sqlplus UserID/"Passwd"@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = HostID)(PORT = Port))(CONNECT_DATA = (SID = OraSID)))
有人能告诉我如何让SID作为一个输入变量工作吗?
提前致谢。
答案 0 :(得分:0)
这对我有用:
sqlplus -s $user/$password@$SID
这样做:
sqlplus -s $myLogin
其中$ myLogin = user / password @ SID