2016-07-27 82 views
0

我想創建一個Windows批處理文件來對在Linux上運行的Sybase數據庫執行查詢。在Sybase數據庫上執行查詢時Isql命令錯誤

批處理文件:

plink.exe -ssh [email protected]<IP> -pw <PW> -m C:\scripts\script1.bat -t > C:\scripts\testing.log 

script1.bat

echo --- query 1 ----- 
cd /sybase/OCS-15_0/bin/ 
isql -Uimaldb_bkp -Pstart_bkp -SLinux1 -Dimaldb 
sp_helpsegment 
go 
exit 

它正常工作,直到isql命令,並給出輸出testing.log:

---查詢1 - --- bash:isql:找不到命令bash:sp_helpsegment:找不到命令bash:go:找不到命令

請指教。

回答

1

只要在數據庫服務器(您提到的Linux服務器)中設置了Sybase ASE所需的環境變量,'isql'就會工作。請檢查下面的鏈接瞭解詳情:

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc35823.1570/html/uconfig/X30690.htm

在一個簡單的音符,應該有一個名爲「SYBASE.sh」內部「/ Sybase的(我猜的Sybase已經安裝此目錄中的文件,從你的示例代碼)。您需要通過編輯用於連接到Linux服務器的用戶的主目錄內的'.bashrc'文件來獲取此文件。

爲了使sql正常工作,您需要一個標誌來指示腳本中sql塊的開始和結束。請嘗試以下操作:

isql -Uimaldb_bkp -Pstart_bkp -SLinux1 -Dimaldb <<EOF 
sp_helpsegment 
go 
EOF 

你可以用它代替「EOF」

+0

喜sumitkd任何其他詞 - 感謝您的回覆。在我的劇本我是從那裏工作存在的isql目錄下達命令。 (cd/sybase/OCS-15_0/bin /)..甚至需要設置環境變量 –

+0

是的。這是必需的。我不太確定這是如何工作的,但根據我的經驗,我相信'isql'也需要其中一些環境變量正常工作。 – sumitkd

+0

嗨sumitkd - 感謝您的回覆 - 給批處理腳本的環境變量後,現在它不給任何錯誤..但仍然不能執行查詢.....我的輸出是...... ---查詢----- - 環境變量已完成--- 1> –

相關問題