我正在运行unix脚本,该脚本执行SQL命令以获取报告,因为我在tnsnames.ora
中没有条目,因此我在sqlplus
命令中给出了门户的完整说明,然后在{ {1}}。当我尝试运行脚本时,控件被删除。
我使用sqlfile
选项使用户名和密码提示静音。
我使用sqlplus -s
运行了脚本,当脚本被删除时,我复制了sqlplus行并独立运行,它运行良好。
ksh -x myscript.ksh
答案 0 :(得分:1)
请尝试这个
$ORACLE_HOME/sqlplus -S "username/password@umyhostname:1599/idb" @/usr/local/myrpt.sql
在可能的情况下显示脚本。
答案 1 :(得分:0)
oracle@esmd:/opt/oracle> more test3.ksh
#!/usr/bin/ksh
username=SCOTT
#password lowercase
password=\"tiger\"
TNS_ALIAS='(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = zzzz.yyy.xxx)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ESMD)
)
)'
echo username: $username
echo password: $password
echo TNS_ALIAS: $TNS_ALIAS
sqlplus -s $username/$password@"$TNS_ALIAS" @test.sql
oracle@esmd:~> ksh
oracle@esmd:/opt/oracle> ./test3.ksh
username: SCOTT
password: "tiger"
TNS_ALIAS: (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = zzzz.xxx.yyy)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ESMD) ) )
TO_CHAR(SYSDATE,'DD
-------------------
24-06-2019 09:51:27