新聞中心
SQL Server 2000數(shù)據(jù)庫(kù)有一個(gè)dos命令工具叫iSql,可以在dos命令下執(zhí)行SQL操作,當(dāng)我們?cè)诳蛻舳嘶蜻h(yuǎn)程執(zhí)行數(shù)據(jù)庫(kù)操作等工作時(shí)是很方便的。本文我們主要介紹isql命令的使用,并通過(guò)兩個(gè)示例來(lái)對(duì)isql的使用加以詳細(xì)解釋,接下來(lái)我們開(kāi)始介紹這一部分內(nèi)容。

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)清苑,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
isql命令的參數(shù):
{-U login_id} --登錄用戶名
{-P password]} --登錄密碼
{-S server} --節(jié)點(diǎn)ip地址
{-d use database name] --操作的數(shù)據(jù)庫(kù)
{-Q "query"} --要執(zhí)行的sql命令
{-i input file} --要執(zhí)行的sql文件
{-o output file} --結(jié)果輸出文件
往往在大型系統(tǒng)維護(hù)中,由于存在很多個(gè)節(jié)點(diǎn),比如全省有100多個(gè)縣,每個(gè)縣都有一套相同的系統(tǒng)(系統(tǒng)、數(shù)據(jù)庫(kù)結(jié)構(gòu)相同,但數(shù)據(jù)不同),這時(shí)候?qū)?huì)發(fā)現(xiàn)用好iSql命令將非常有用。尤其是在與dos其它命令組合時(shí)。
一、以下演示一個(gè)場(chǎng)景,需要向全省100個(gè)節(jié)點(diǎn)數(shù)據(jù)庫(kù),執(zhí)行一段sql語(yǔ)句,可以是一條update、insert、也可以是一個(gè)存儲(chǔ)過(guò)程、甚或是一批sql語(yǔ)句,這個(gè)時(shí)候如果一個(gè)個(gè)節(jié)點(diǎn)去遠(yuǎn)程連接再執(zhí)行,人肯定會(huì)瘋的。利用isql將變得很簡(jiǎn)單:
1.先創(chuàng)建一個(gè)文本文件config.txt,將各節(jié)點(diǎn)的數(shù)據(jù)庫(kù)連接參數(shù)寫下來(lái),比如:
192.168.1.1,sa,sa,test
192.168.1.2,sa,sa,test
192.168.1.3,sa,sa,test
192.168.1.4,sa,sa,test
192.168.1.5,sa,sa,test
192.168.1.6,sa,sa,test 2.創(chuàng)建一個(gè)sql文件start.sql,存放您要執(zhí)行的sql代碼(內(nèi)容略)
3.創(chuàng)建一個(gè)批處理,內(nèi)容如下:
- @for /F "eol=# tokens=1,2,3* delims=, " %%i in (config.txt) do (
- @echo 向服務(wù)器%%i執(zhí)行SQL語(yǔ)句
- @echo 向服務(wù)器%%i執(zhí)行SQL語(yǔ)句 >> log.txt
- @isql -S%%i -U%%j -P%%k -d%%l -istart.sql >> log.txt
- @echo 執(zhí)行結(jié)束
- pause
這段代碼會(huì)逐行分析config.txt中的節(jié)點(diǎn)配置,然后分別執(zhí)行sql文件start.sql,然后將結(jié)果輸出到log.txt中。
二、還有一種情況,同樣需要向100個(gè)節(jié)點(diǎn)執(zhí)行相同的sql語(yǔ)句,不同的是需要返回?cái)?shù)據(jù),進(jìn)行匯總或統(tǒng)計(jì)分析用。比如返回某張表中一共有多少條記錄,那么,也可以建立一個(gè)批處理,如下:
- @for /F "eol=# tokens=1,2,3* delims=, " %%i in (config.txt) do (
- @echo 向服務(wù)器%%i執(zhí)行SQL語(yǔ)句
- @echo 向服務(wù)器%%i執(zhí)行SQL語(yǔ)句 >> log.txt
- @isql -S%%i -U%%j -P%%k -d%%l -Q"select count(*) from tablename" >> log.txt
- @echo 執(zhí)行結(jié)束
- pause
然后您就可以等著看結(jié)果了。如果有錯(cuò)誤,或者連不上數(shù)據(jù)庫(kù)都會(huì)在log.txt中提示,這樣我們就可以查看log.txt來(lái)解決問(wèn)題了。
關(guān)于SQL Server 2000數(shù)據(jù)庫(kù)使用的isql命令進(jìn)行批量處理的知識(shí)就介紹到這里了,希望本次的介紹能夠給您帶來(lái)一些收獲,謝謝!
【編輯推薦】
- SQL Server數(shù)據(jù)庫(kù)Substring函數(shù)使用方法小結(jié)
- 淺談Oracle與SQL Server對(duì)UPDATE語(yǔ)句的處理
- SQL Server數(shù)據(jù)庫(kù)無(wú)法進(jìn)行遠(yuǎn)程連接的解決方案
- SQL Server 2000本地系統(tǒng)賬戶和域用戶賬戶的選擇
- 一個(gè)使用JavaBean連接SQL Server 2005數(shù)據(jù)庫(kù)的源文件
網(wǎng)站欄目:巧用SQL Server 2000的isql進(jìn)行批量SQL處理
網(wǎng)站URL:http://m.fisionsoft.com.cn/article/djopoei.html


咨詢
建站咨詢
