2013-06-06 132 views
0

我基本上想創建一個嵌入了sql命令的批處理腳本,我想知道是否有一種方法可以使用cmdsql來執行此操作。我正在使用sql server 2008 r管理工作室,並且已經下載了sqlcmd v2.0。是否可以使用cmdsql創建帶有sql命令的批處理腳本?

我做了一個批處理腳本,它試圖連接到數據庫並執行一條簡單的select語句,但是當我運行腳本時,它在連接到數據庫後進入交互模式。它不會在腳本中執行sql,它只會允許用戶鍵入sql命令。代碼如下:

sqlcmd -S <servername>\<instancename> 
Select Number FROM Table1 
GO 

我改變了列/表/數據庫等的名字,因爲這是與工作相關的,但你的想法。我對批處理腳本很陌生,沒有太多經驗,我對sql有更多的經驗。

回答

0

將輸入輸入程序的標準方法是準備輸入並通過|管道重定向輸入。例如:

(
echo Select Number FROM Table1 
echo GO 
echo . . . 
echo EXIT or QUIT or BYE... 
) | sqlcmd -S <servername>\<instancename> 

但是,如果您的批處理文件的目的只是爲了執行SQL命令(且沒有批量邏輯),一個簡單的方法是準備與你鍵入相同的輸入通過.txt文件鍵盤:

sqlcmd -S <servername>\<instancename> 
Select Number FROM Table1 
GO 

...然後反饋該文件到cmd.exe的是這樣的:

cmd < theFile.txt 

在這種情況下,不要忘了同時插入的平方exit命令l和exit cmd.exe命令!

1

你可以嘗試read the documentation。文件的概要,請在命令行中鍵入sqlcmd -?

要從批處理文件中運行單個的SQL Server查詢,使用默認的數據庫:

sqlcmd -S <servername>\<instancename> -Q "Select Number FROM Table1" 
相關問題