SQL Server 中提供了許多公用程式,其中「bcp」可以用來很快速的將資料倒出來,有點類似 MySQL 中的 sqldump。
在網路上找到一篇介紹很詳細的文章,可以直接參考此篇文章說明使用。
另外,若要搭配 stored procedure 使用,就必須要使用 xp_cmdshell,但 xp_cmdshell 預設是關閉的,必須先打開,以下是一個小範例: <br />--開啟 xp_cmdshell 服務<br />EXEC sp_configure 'show advanced options', 1; RECONFIGURE;<br />EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE; <br /><br />--匯出 CSV<br />--參數「out」指定匯出的檔案路徑<br />--參數「-U」指定 SQL Server 使用者帳號<br />--參數「-P」指定 SQL Server 使用者密碼<br />--參數「-c」表示使用字元型別的格式檔<br />--參數「-t」設定資料的分隔字元,「-t,」表示使用「,」為分隔字元<br />declare @strExecCmd varchar(200)<br />set @strExecCmd = 'bcp MyDB..tmpTable out C:\tmpTableData.csv -U sa -P sa -c -t,'<br />EXEC master..xp_cmdshell @strExecCmd<br /><br />--關閉 xp_cmdshell 服務<br />EXEC sp_configure 'show advanced options', 1; RECONFIGURE;<br />EXEC sp_configure 'xp_cmdshell', 0; RECONFIGURE;<br />
參考資料
沒有留言:
張貼留言