天天看點

批處理執行SQL腳本編寫規範

為了進一步簡化在更新程式時對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、 檢視批處理檔案執行結果。輕按兩下輸出檔案,即可看到批處理檔案執行結果