Scripting 在SQL*Plus连接字符串中使用变量

Scripting 在SQL*Plus连接字符串中使用变量,scripting,connection-string,session-variables,sqlplus,ksh,Scripting,Connection String,Session Variables,Sqlplus,Ksh,我在KornShell ksh脚本中嵌入了一个SQL*Plus例程 只要我在连接字符串中硬编码我的SID,整个例程就会按预期工作 但是,取决于我处于调试模式还是生产模式,将取决于我要连接到哪个SID 当我试图使用一个变量来代替连接字符串内部的硬编码SID时,它会不断出错 我尝试过单引号、双引号、大括号、反斜杠等 但是,除了在这个连接字符串中硬编码SID之外,我尝试过的任何方法似乎都不起作用 以下是我的连接字符串示例: sqlplus用户标识/Passwd@DESCRIPTION=ADDRESS=

我在KornShell ksh脚本中嵌入了一个SQL*Plus例程

只要我在连接字符串中硬编码我的SID,整个例程就会按预期工作

但是,取决于我处于调试模式还是生产模式,将取决于我要连接到哪个SID

当我试图使用一个变量来代替连接字符串内部的硬编码SID时,它会不断出错

我尝试过单引号、双引号、大括号、反斜杠等

但是,除了在这个连接字符串中硬编码SID之外,我尝试过的任何方法似乎都不起作用

以下是我的连接字符串示例:

sqlplus用户标识/Passwd@DESCRIPTION=ADDRESS=PROTOCOL=TCPHOST=HostIDPORT=PortCONNECT\u DATA=SID=$ORASID

请记住,如果我只是对SID进行硬编码,它是有效的:

sqlplus UserID/"Passwd"@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = HostID)(PORT = Port))(CONNECT_DATA = (SID = OraSID)))
谁能告诉我如何让SID作为一个输入变量工作

提前感谢。

这对我很有用:

sqlplus -s $user/$password@$SID
这也是:

sqlplus -s $myLogin

其中$myLogin=user/password@SID

$user作为${user}。。只是一个标准!!