2017-03-02 66 views
0

我想運行一個SQL腳本,這是一個遠程控制箱的手動步驟是連接到帶有用戶名和密碼
然後須藤蘇框後,如下 - fa3dev

帳戶密碼: *******

的sqlplus/as sysdba已

連接XX_fusion_custom

密碼*****

@ abc.sql
當我運行這個手動一切工作正常 當我從詹金斯作爲遠程shell腳本運行如下遠程SQL腳本

ssh fa3dev @ server'source .bash_profile; SQLPLUS xx_fusion_custom /密碼 '

在控制檯它給出的Sql連接和斷開

如果用完SSH fa3dev @服務器' 源的.bash_profile; sqlplus xx_fusion_custom/password; sqlplus/as sysdba;連接XX_fusion_custom;從雙重選擇用戶' 它在jenkins控制檯中的意外令牌'from'附近給出語法錯誤,我想我無法連接到數據庫,我不能使用SQL插件,因爲我不能在jenkins框中安裝oracle cleint

+0

Stack Overflow是用於編程和發展問題的站點。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。另請參閱[我在哪裏發佈有關開發運營的問題?](http://meta.stackexchange.com/q/134306) – jww

回答

0

你的問題是在bash中,在sqlplus退出並且bash啓動後執行sql命令select user from dual

您可以通過兩種方式解決這個問題:

  1. echo到sqlplus中:

    ssh [email protected] 'source .bash_profile; echo select user from dual | sqlplus xx_fusion_custom/password;sqlplus/as sysdba;connect XX_fusion_custom;'

  2. 傳遞使用下面的命令文件(這是很好,如果SQL命令是很多並固定)

2.1遠程fi樂

ssh [email protected] 'source .bash_profile; sqlplus xx_fusion_custom/password;sqlplus/as sysdba;connect XX_fusion_custom < files_with_commands.sql' 

2.2本地文件(注意文件名前從後thehfilename切換到關閉'的位置):

ssh [email protected] 'source .bash_profile; sqlplus xx_fusion_custom/password;sqlplus/as sysdba;connect XX_fusion_custom < files_with_commands.sql' 
+0

它的工作就像魅力結束'做了一招thankx一噸 –

+0

嗨@ subrata-fouzdar如果這或任何答案已解決您的問題,請點擊複選標記考慮[接受它](http://meta.stackexchange.com/q/5234/179419)。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。 – berserck

+0

我肯定會接受,但我沒有選擇接受它,我提出的原因是由國防部標記的問題爲脫離主題不知道爲什麼確切.... –