為了進一步簡化在更新程式時對SQL腳本的執行操作,我們特别引用了批處理指令來自動執行指定的腳本,而無需在資料庫的查詢分析器中進行執行。那麼什麼是批處理檔案呢?如何對批處理檔案進行編寫呢?編寫和執行的過程中要注意什麼問題呢?下面就這三個問題做具體的解釋。
什麼是批處理檔案?
字尾是bat的檔案就是批處理檔案,是一種文本檔案,是将DOS指令成批地寫進一個檔案中,運作時系統按順序依次運作,效率較高。簡單的說,它的作用就是自動的連續執行多條指令,批處理檔案的内容就是一條一條的指令。
如何編寫批處理檔案?
在知道如何編寫批處理檔案之前,我們先要了解批處理檔案的構成。
簡單的說,批處理檔案由OSQL參數,及其對應的參數值構成。常見的OSQL參數如下所示:
1 osql [-U 登入 ID] [-P 密碼]
2 [-S 伺服器] [-H 主機名] [-E 可信連接配接]
3 [-d 使用資料庫名稱] [-l 登入逾時值] [-t 查詢逾時值]
4 [-h 标題] [-s 列分隔符] [-w 列寬]
5 [-a 資料包大小] [-e 回顯輸入] [-I 允許帶引号的辨別符]
6 [-L 列出伺服器] [-c 指令結束] [-D ODBC DSN 名稱]
7 [-q "指令行查詢"] [-Q "指令行查詢" 并退出]
8 [-n 删除編号方式] [-m 錯誤級别]
9 [-r 發送到 stderr 的消息] [-V 嚴重級别]
10 [-i 輸入檔案] [-o 輸出檔案]
11 [-p 列印統計資訊] [-b 出錯時中止批處理]
12 [-X[1] 禁用指令,[退出的同時顯示警告]]
13 [-O 使用舊 ISQL 行為禁用下列項]
14 <EOF> 批處理
15 自動調整控制台寬度
16 寬消息
17 預設錯誤級别為 -1 和 1
18 [-? 顯示文法摘要]
下面具體講述如何使用批處理檔案執行SQL腳本。
在使用批處理檔案執行SQL腳本時,我們隻需要用到如下幾個參數
序号 參數名 參數解釋 示例
1 /u SQLServer使用者名 /u sa
2 /p SQLServer密碼 /p sa
3 -s 資料庫IP -s 192.168.0.45
4 -d 資料庫名 -d Northwind
5 -r 發送到 stderr 的消息 (後面不帶參數值)
6 -i 輸入檔案 -i b.sql
7 -o 輸出檔案 -o a.txt
8 pause 指令暫停辨別 (後面不帶參數)
編寫步驟:
在建立批處理檔案之前,首先要建立好兩個檔案,即:1、要使用批處理檔案執行的SQL腳本檔案(字尾名為.sql的檔案)。2、輸出檔案(即執行結果檔案,字尾名為.txt檔案)。
1、 建立批處理檔案。先在指定的位置建立一個TXT檔案,然後給該檔案命名(如命名為aa),再将此檔案的字尾名.txt修改成.bat。然後系統會給出如下提示,點選按鈕【是】即可。
2、 編寫批處理檔案。把光标打在建立的批處理檔案上,單擊滑鼠右鍵,選擇以記事本的方式打開批處理檔案,即可參照如下例子進行編寫。
示例一:(資料庫沒密碼的情況)
OSQL /U sa -S 192.168.0.153 -d NorthWind -r -i a.sql -o a.txt
Pause
示例二:(資料庫有密碼的情況)
OSQL /U sa /P sa -S 192.168.0.153 -d NorthWind -r -i b.sql -o a.txt
Pause
3、 儲存批處理檔案。在編寫完批處理檔案指令後,點選記事本上方工具欄的【檔案】---【儲存】,或者直接使用快捷鍵ctrl+s即可。
4、 執行批處理檔案。輕按兩下批處理檔案,點選Enter按鈕即可。如果在一個批處理檔案中含有多條指令,那麼一直惦記Enter按鈕,一直到DOS頁面顯示“按任意鍵繼續...”即可。
5、 檢視批處理檔案執行結果。輕按兩下輸出檔案,即可看到批處理檔案執行結果