主頁 > 知識(shí)庫(kù) > 使用BAT批處理執(zhí)行sql語句的代碼

使用BAT批處理執(zhí)行sql語句的代碼

熱門標(biāo)簽:呼倫貝爾外呼系統(tǒng) 雷霆電銷機(jī)器人怎么樣 如何申請(qǐng)400電話業(yè)務(wù)mm 智能打電話機(jī)器人收費(fèi) 清遠(yuǎn)百度地圖標(biāo)注店鋪位置 電話機(jī)器人產(chǎn)品怎么樣 如何弄地圖標(biāo)注 電話機(jī)器人全國(guó)招商 玉林市機(jī)器人外呼系統(tǒng)哪家好

1、把待執(zhí)行Sql保存在一個(gè)文件,這里為20110224.sql。
2、新建一個(gè)擴(kuò)展名.bat的批處理文件,輸入下面命令并保存后,雙擊.bat文件,系統(tǒng)會(huì)自動(dòng)執(zhí)行20110224.sql的語句:

復(fù)制代碼 代碼如下:

osql -S gdjlc -d TestDB -U sa -P 1 -i 20110224.sql

osql參數(shù)見下面
=======================================================================

E:\&;osql /?
icrosoft (R) SQL Server 命令行工具
版本 10.0.1600.22 NT INTEL X86
版權(quán)所有 (c) Microsoft Corporation。保留所有權(quán)利。

注意: osql 并不支持 SQL Server 2008的所有功能。
請(qǐng)使用 sqlcmd。有關(guān)詳細(xì)信息,請(qǐng)參閱 SQL Server 聯(lián)機(jī)叢書。

用法: osql                   [-U 登錄 ID]          [-P 密碼]
 [-S 服務(wù)器]                [-H 主機(jī)名]           [-E 可信連接]
 [-d 使用數(shù)據(jù)庫(kù)名稱]        [-l 登錄超時(shí)值]       [-t 查詢超時(shí)值]
 [-h 標(biāo)題]                  [-s 列分隔符]         [-w 列寬]
 [-a 數(shù)據(jù)包大小]            [-e 回顯輸入]         [-I 允許帶引號(hào)的標(biāo)識(shí)符]
 [-L 列出服務(wù)器]            [-c 命令結(jié)束]         [-D ODBC DSN 名稱]
 [-q "命令行查詢"]          [-Q "命令行查詢" 并退出]
 [-n 刪除編號(hào)方式]          [-m 錯(cuò)誤級(jí)別]
 [-r 發(fā)送到 stderr 的消息]  [-V 嚴(yán)重級(jí)別]
 [-i 輸入文件]              [-o 輸出文件]
 [-p 打印統(tǒng)計(jì)信息]          [-b 出錯(cuò)時(shí)中止批處理]
 [-X[1] 禁用命令,[退出的同時(shí)顯示警告]]
 [-O 使用舊 ISQL 行為禁用下列項(xiàng)]
     EOF> 批處理
     自動(dòng)調(diào)整控制臺(tái)寬度
     寬消息
     默認(rèn)錯(cuò)誤級(jí)別為 -1 和 1
 [-? 顯示語法摘要]

 通過批處理執(zhí)行sql命令實(shí)例:

 通過批處理執(zhí)行sql命令:

1. Restore.bat文件內(nèi)容:

      osql -E -S -i C:\TempDB\Restore.txt

 

2. Restore.txt文件內(nèi)容:

復(fù)制代碼 代碼如下:

use master
if exists (select * from sysdevices where name='TruckDB')
       EXEC sp_dropdevice 'TruckDB'
Else
       EXEC sp_addumpdevice 'disk','TruckDB', 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\TruckDB.mdf'
restore database TruckDB
from disk='c:\TempDB\TruckDB'
with replace
 

導(dǎo)出數(shù)據(jù)到txt:

復(fù)制代碼 代碼如下:

EXEC master..xp_cmdshell 'bcp "test..mintest" in d:\mintest2.txt -c -Sd02 -Usa -P'
EXEC master..xp_cmdshell 'bcp "test..min" out d:\mintest2.txt -c -Sd02 -Usa -P'

很多情況下,需要給客戶更新數(shù)據(jù)庫(kù),不值得

跑一趟,客戶自己也不懂得如何操作,遠(yuǎn)程操作網(wǎng)速還跟不上...這時(shí)可以把要更新的sql語句保存成文件,寫一個(gè)批處理在命令行狀

態(tài)下調(diào)用查詢分析器來執(zhí)行這個(gè)sql文件里的語句。

下面就是sqlserver幫助里對(duì)于查詢分析器(isqlw)命令行參數(shù)的解釋:

isqlw 實(shí)用工具(SQL 查詢分析器)使您得以輸入 Transact-SQL 語句、系統(tǒng)存儲(chǔ)過程和腳本文件。通過設(shè)置快捷方式或創(chuàng)建批處理

文件,可以啟動(dòng)預(yù)配置的 SQL 查詢分析器。

語法
isqlw
    [-?] |
     [
         [-S server_name[instance_name]]
         [-d database]
         [-E] [-U user] [-P password]
         [{-i input_file} {-o output_file} [-F {U|A|O}]]
         [-f file_list]
         [-C configuration_file]
         [-D scripts_directory]
         [-T template_directory]
     ]

參數(shù)
-?

顯示用法信息。

-S server_name[instance_name]:

指定要連接到的 Microsoft® SQL Server™ 2000 實(shí)例。指定用于連接到該服務(wù)器上的 SQL Server 2000 默認(rèn)實(shí)例的 server_name。

指定用于連接到該服務(wù)器上的 SQL Server 2000 命名實(shí)例的 server_nameinstance_name。如果未指定服務(wù)器,isqlw 將連接到本地

計(jì)算機(jī)上的 SQL Server 默認(rèn)實(shí)例。從網(wǎng)絡(luò)上的遠(yuǎn)程計(jì)算機(jī)執(zhí)行 isqlw 時(shí),此選項(xiàng)是必需的。

-d database

當(dāng)啟動(dòng) isqlw 時(shí),發(fā)出一個(gè) USE database 語句。默認(rèn)值為用戶的默認(rèn)數(shù)據(jù)庫(kù)。

-E

使用信任連接而不請(qǐng)求密碼。

-U user

用戶登錄 ID。登錄 ID 區(qū)分大小寫。

-P password

是登錄密碼。默認(rèn)設(shè)置為 NULL。

-i input_file

標(biāo)識(shí)包含一批 SQL 語句或存儲(chǔ)過程的文件。必須同時(shí)指定 -i 和 -o 選項(xiàng)。如果指定 -i 和 -o 選項(xiàng),將執(zhí)行輸入文件中的查詢,并

將結(jié)果保存到輸出文件中。在查詢執(zhí)行過程中不顯示用戶接口。當(dāng)執(zhí)行完成后,進(jìn)程退出。

-o output_file

標(biāo)識(shí)接收來自 isqlw 的輸出的文件。必須同時(shí)指定 –i 和 –o 選項(xiàng)。如果指定 -i 和 -o 選項(xiàng),將執(zhí)行輸入文件中的查詢,并將結(jié)

果保存到輸出文件中。在查詢執(zhí)行過程中不顯示用戶接口。當(dāng)執(zhí)行完成后,進(jìn)程退出。如果未使用 -F 指定文件格式,則輸出文件使用

與輸入文件相同的類型。

-F {U|A|O}

是輸入文件和輸出文件的格式。值包括 Unicode、ANSI 和 OEM。如果未指定 -F,則使用自動(dòng)模式(如果文件標(biāo)為 Unicode 格式,則

以 Unicode 格式打開;否則,以 ANSI 格式打開文件)。

-f file_list

將列出的文件裝載到 SQL 查詢分析器中。使用 -f 選項(xiàng),可以裝載一個(gè)或多個(gè)文件(文件名以單個(gè)空格分開)。如果指定了多個(gè)文件

,則以相同的連接上下文將這些文件打開。文件名可以包含該文件所駐留的目錄路徑。可以使用通配符,如 C:Test*.sql 中的星號(hào)

(*)。

-C configuration_file

使用配置文件中指定的設(shè)置。其它在命令提示下顯式指定的參數(shù)將重寫相應(yīng)配置文件中的設(shè)置。

-D scripts_directory

重寫在注冊(cè)表中或在用 –C 指定的配置文件中指定的默認(rèn)存儲(chǔ)腳本目錄。該值不保留在注冊(cè)表或配置文件中。若要在 SQL 查詢分析

器中查看該選項(xiàng)的當(dāng)前值,請(qǐng)單擊"工具"菜單,然后單擊"選項(xiàng)"命令。

-T template_directory

重寫在注冊(cè)表中或在用 –C 指定的配置文件中指定的默認(rèn)模板目錄。該值不保留在注冊(cè)表或配置文件中。若要在 SQL 查詢分析器中

查看該選項(xiàng)的當(dāng)前值,請(qǐng)單擊"工具"菜單,然后單擊"選項(xiàng)"命令。


注釋

有用戶界面或沒有用戶界面時(shí)都可使用 isqlw 實(shí)用工具。若要在沒有用戶界面的情況下運(yùn)行 isqlw,請(qǐng)指定有效登錄信息(具有信任
連接或有效登錄 ID 及密碼的 SQL Server 2000 實(shí)例)和輸入及輸出文件。isqlw 將執(zhí)行輸入文件的內(nèi)容,并將結(jié)果保存到輸出文件
中。
如果沒有指定輸入和輸出文件,isqlw 將交互運(yùn)行并啟動(dòng) SQL 查詢分析器。如果指定了有效登錄信息,isqlw 將直接連接 SQL
Server 2000 實(shí)例。如果指定的連接信息不充足,將出現(xiàn)"連接到 SQL Server"對(duì)話框。
isqlw 和 SQL 查詢分析器使用 ODBC API。該實(shí)用工具使用 SQL-92 的 Microsoft® SQL Server ODBC 驅(qū)動(dòng)程序默認(rèn)設(shè)置。
示例

A. 執(zhí)行 SQL 語句
本例使用 Windows 身份驗(yàn)證連接到 MyServer 上的 pubs 數(shù)據(jù)庫(kù),并執(zhí)行 Input.sql 文件。結(jié)果保存在 Output.txt 文件中。這些
文件以 Unicode 文件方式打開。
isqlw -S MyServer -d pubs -E -i input.sql -o output.txt -FU
 

B. 使用通配符
本例將兩個(gè)文件裝載到 SQL 查詢分析器中。將使用 Windows 身份驗(yàn)證連接到本地服務(wù)器。
isqlw -d pubs -E -f "c:Program FilesMicrosoft SQL ServerMSSQLInstallinstpubs.sql" "c:Program FilesMicrosoft
SQL ServerMSSQLInstallinstcat.sql"
 

C. 裝載多個(gè)文件
本例將所有 .sql 文件裝載到 SQL 查詢分析器中。所有連接均使用 Windows 身份驗(yàn)證并指向本地服務(wù)器上的 pubs 數(shù)據(jù)庫(kù)。
isqlw -d pubs -E -f "c:Program FilesMicrosoft SQL ServerMSSQLInstall*.sql"
 

D. 使用 Unicode 文件
本例連接到 MyServer(pubs 數(shù)據(jù)庫(kù)),并執(zhí)行 input_file 中的 SQL 語句,執(zhí)行結(jié)果存儲(chǔ)在 output_file 中。
isqlw -S MyServer -d pubs -U sa -P -i input_file -o output_file

您可能感興趣的文章:
  • windows下bat批處理執(zhí)行Mysql的sql語句

標(biāo)簽:公主嶺 株洲 樂山 臺(tái)州 江西 三門峽 蕪湖 白銀

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用BAT批處理執(zhí)行sql語句的代碼》,本文關(guān)鍵詞  使用,BAT,批處理,執(zhí)行,sql,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用BAT批處理執(zhí)行sql語句的代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用BAT批處理執(zhí)行sql語句的代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章