我想在连接到带有用户ID和密码的框后,运行一个远程框中的sql脚本,手动步骤如下所示
然后sudo su - fa3dev
户口密码:*******
sqlplus / as sysdba
连接XX_fusion_custom
密码*****
@ abc.sql
当我手动运行时,所有工作正常当我从jenkins作为远程shell脚本运行时,如下所示
ssh fa3dev@server 'source .bash_profile; sqlplus xx_fusion_custom/password'
在控制台中,它使Sql连接和断开连接
如果我运行 ssh fa3dev@server 'source .bash_profile; sqlplus xx_fusion_custom/password;sqlplus / as sysdba;connect XX_fusion_custom;select user from dual' 它在jenkins控制台中出现意外令牌`from'附近的语法错误,我想我无法连接到数据库,这里的任何帮助都会非常适合我,我无法使用SQL插件,因为我无法安装oracle cleint在詹金斯盒子里
1 回答
你的问题是在bash中,sql命令
select user from dual
正在执行sqlplus退出并且bash选中它 .您可以通过两种方式解决此问题:
echo
进入sqlplus:ssh fa3dev@server 'source .bash_profile; echo select user from dual | sqlplus xx_fusion_custom/password;sqlplus / as sysdba;connect XX_fusion_custom;'
2.1远程文件
2.2本地文件(注意关闭
'
的位置从hfilename之后变为文件名之前):