通過批處理調用SQL的方法(osql)
2020-06-09 13:54:10
供稿:網友
osql /U alma /P /i stores.bat
(stores.bat中包含update ,delete語句,不過,不需要使用GO)
----------------------------------------------------
osql 實用工具
osql 實用工具使您得以輸入 Transact-SQL 語句、系統過程和腳本文件。該實用工具通過 ODBC 與服務器通訊。
語法
osql
[-?] ¦
[-L] ¦
[
{
{-U login_id [-P password]}
¦ -E
}
[-S server_name[instance_name]] [-H wksta_name] [-d db_name]
[-l time_out] [-t time_out] [-h headers]
[-s col_separator] [-w column_width] [-a packet_size]
[-e] [-I] [-D data_source_name]
[-c cmd_end] [-q "query"] [-Q "query"]
[-n] [-m error_level] [-r {0 ¦ 1}]
[-i input_file] [-o output_file] [-p]
[-b] [-u] [-R] [-O]
]
參數-?
顯示 osql 開關的語法摘要。
-L
列出在本地配置的服務器和在網絡上廣播的服務器的名稱。
-U login_id
用戶登錄 ID。登錄 ID 區分大小寫。
-P password
是用戶指定的密碼。如果未使用 -P 選項,osql 將提示輸入密碼。如果在命令提示符的末尾使用 -P 選項而不帶密碼,osql 使用默認密碼 (NULL)。密碼區分大小寫。
OSQLPASSWORD 環境變量使您得以為當前會話設置默認密碼。因此,不需要通過硬編碼來在批處理文件中設置密碼。
如果沒有為 -P 選項指定密碼,osql 首先檢查 OSQLPASSWORD 變量。如果未設置值,osql 使用默認密碼 (NULL)。以下示例在命令提示符處設置 OSQLPASSWORD 變量,然后訪問 osql 實用工具:
C:>SET OSQLPASSWORD=abracadabra
C:>osql
-E
使用信任連接而不請求密碼。
-S server_name[instance_name]
指定要連接的 Microsoft® SQL Server™ 2000 實例。在該服務器上指定 server_name 以連接到 SQL Server 的默認實例。在該服務器上指定 server_nameinstance_name 以連接到一個已命名的 SQL Server 2000 的實例。如果未指定服務器,osql 將連接到本地計算機上的 SQL Server 默認實例。從網絡上的遠程計算機執行 osql 時,此選項是必需的。
-H wksta_name
是工作站名稱。工作站名稱存儲在 sysprocesses.hostname 中并由 sp_who 顯示。如果未指定此選項,則采用當前計算機名稱。
-d db_name
啟動 osql 時發出一個 USE db_name 語句。
-l time_out
指定 osql 登錄超時之前的秒數。登錄到 osql 的默認超時為 8 秒。
-t time_out
指定命令超時之前的秒數。如果未指定 time_out 值,則命令不會超時。
-h headers
指定要在列標題之間打印的行數。默認為每一查詢結果集打印一次標題。用 –1 指定不打印標題。如果使用 -1,則在參數和設置之間一定不能有空格(可以是 -h-1,不能是 -h –1)。
-s col_separator
指定列分隔符字符,其默認為空格。若要使用對操作系統有特殊含義的字符(例如 ¦ ; & < >),請將該字符用雙引號 (") 引起來。