SQL Server中使用外部命令執行sql指令碼

來源:互聯網
上載者:User
server|指令碼|執行
Author:David Euler
Date: 2004/09/28
Email:de_euler-david@yahoo.com.cn

有任何問題,請與我聯絡:)


   有時候我們需要多次運行一個檔案夾下所有的sql指令碼(可能時txt或者sql等文字檔)來更新Schema,檔案多的時候需要多次執行,那麼可以使用多條語句來執行sql指令碼。--下面的查詢語句在SQL Query中運行,將執行d:\vss下面的指定sql指令碼,這些指令碼的尾碼都是txtexec master..xp_cmdshell 'isql  -U  sa  -P  123  -i  d:\vss\MSSchema.txt '
exec master..xp_cmdshell 'isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030311.txt '
exec master..xp_cmdshell 'isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030416.txt'
exec master..xp_cmdshell 'isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030417.txt'
exec master..xp_cmdshell 'isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030513.txt'
exec master..xp_cmdshell 'isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030613.txt'
exec master..xp_cmdshell 'isql  -U  sa  -P  123  -i  d:\vss\MSSchema_031010.txt'
exec master..xp_cmdshell 'isql  -U  sa  -P  123  -i  d:\vss\MSSchema_050810.txt' exec master..xp_cmdshell 'isql  -U  sa  -P  123  -i  d:\vss\TaxInvoice.sql' 當然,我們完全可以不使用預存程序,而只是在一個批次檔updateschema.cmd中執行這些命令,下面是updateschema.cmd的內容:;下面的命令將執行d:\vss下面的指定sql指令碼:isql  -U  sa  -P  123  -i  d:\vss\MSSchema.txt 
isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030311.txt
isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030416.txt
isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030417.txt
isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030513.txt
isql  -U  sa  -P  123  -i  d:\vss\MSSchema_030613.txt
isql  -U  sa  -P  123  -i  d:\vss\MSSchema_031010.txt
isql  -U  sa  -P  123  -i  d:\vss\MSSchema_050810.txt 註:1.exec語句用來執行預存程序,xp_cmdshell是master資料庫中的一個擴充預存程序,可以用來執行系統命令的字串,  比如exec master..xp_cmdshell 'dir *.exe'查看目前的目錄下所有的exe檔案。   2.isql是sql server的一個工具 + 生產力,可以理解程一個外部程式,如果sql使用的預設安裝,可以在C:\Program Files\Microsoft SQL Server\80\Tools\Binn目錄中找到這個isql.exe檔案,isql可以用來執行Transact-SQL語句,預存程序,以及指令檔,參數-U用來指定登陸伺服器的使用者名稱,-P用來指定密碼,參數-i用來指定讀取執行的指令檔,參數-o用來指定儲存輸出結果的檔案名稱。 3.其他Oracle,DB2,MySQL,PostgreSQL等幾個常用資料庫中也有相應的工具也可以實作類別似的功能。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.