簡體   English   中英

將數據從MS Sql Server存儲過程導出到Excel文件

[英]export data from MS Sql Server store procedure to excel file

我有一個任務,那就是我想將數據從MS Sql Server存儲過程導出到不同工作表中的excel文件(同一Excel文件中的不同工作表),其格式如方向為橫向,在Excel的A列的每個值后分頁床單等

最后,該excel文件通過電子郵件發送。

請建議哪種方法適合此任務。 SSRS,SSIS打包或創建Sore程序概念。 請提出任何鏈接或任何示例以完成此任務。

現在,我正在手動執行此任務,因此我需要通過自動化完成此任務。 請幫助和建議。

使用SSIS,可能會將數據導出到Excel

資料來源:OLEDB消息來源目的地:分子鑒定

創建並部署了程序包后,請在SQL Server代理中進行計划。

你可以在這里看看

https://www.simple-talk.com/sql/database-administration/creating-csv-files-using-bcp-and-stored-procedures/

本文使用批量復制程序(BCP)創建CSV文件。 盡管可以使用DTS或SSIS創建CSV文件,但是使用BCP通常更簡單,更高效。

我使用master..sysobjects作為示例表來提取。

創建一個簡單的CSV文件

將數據從數據庫表復制到文件的最簡單方法是使用基本的BCP命令:

BCP master..sysobjects輸出c:\\ sysobjects.txt -c -t,-T -S用於創建CSV文件的BCP命令的基本格式如下:

BCP出

這里使用的開關是:

-c Output in ASCII with the default field terminator (tab) and row terminator (crlf)
-t override the field terminator with ","
-T use a trusted connection. Note that U –P may be used for username/password
-S connect to this server to execute the command

請注意,與DTS / SSIS一樣,BCP是客戶端實用程序,因此您需要提供連接信息。

要在SQL服務器之間傳輸數據,請使用-n或-N代替-c來代替本機數據格式(-N = Unicode)。 這樣更快,並且避免了數據轉換問題。 請參閱前面的BOL鏈接以獲取BCP命令的完整格式。

由於BCP是命令行實用程序,因此可以使用xp_cmdshell從T-SQL執行。 在c:驅動器上創建一個名為BCP的目錄並執行:

declare @sql varchar(8000)select @sql = 'bcp master..sysobjects out 
c:\bcp\sysobjects.txt -c -t, -T -S'+ @@servernameexec master..xp_cmdshell @sql

SSRS可能是實現所追求目標的最簡單方法。 您將使用分組將Excel輸出分為單獨的工作表,如下所示:

Reporting Services導出到具有多個工作表的Excel

設置報告后,您可以設置數據驅動的訂閱,該訂閱將根據預定的時間表定期發送文件:

http://msdn.microsoft.com/en-GB/library/ms159150(v=sql.105).aspx

SSRS支持導出到多個Excel工作表。 這是一個鏈接,它說明了如何: http : //technet.microsoft.com/zh-cn/library/dd255278.aspx

如果您知道電子郵件地址,並且在執行任務期間不應從數據庫中檢索該電子郵件地址,則還可以創建一個標准訂閱來發送電子郵件。

另一種選擇是使用第三方工具。 它支持多種報告類型,包括SSRS和對存儲過程的直接調用。 您可以查看此視頻的前幾分鍾,以了解其工作原理: http : //www.r-tag.com/Pages/Preview_Demo.aspx

該工具不是免費的,但允許您在大約一分鍾內設置,運行或安排任務。 該工具的優點之一是可以格式化excel文件,因此您可以設置例如要導出為帶有摘要和過濾器的Excel表的數據。 您還可以通過不同的方式顯示數據:分組,透視等。該工具支持SSRS的數據驅動訂閱。 @SQLDiver建議使用它來發送電子郵件,但是數據驅動訂閱僅在SQLServer Enterprise中可用,這很昂貴。 如果您需要數據驅動的報告,則此工具對於企業版而言可能是一種廉價的替代品。 因此,這取決於您的需求。 如果您只有這樣的任務,那么基於SSRS或SSIS的解決方案將更便宜,並且可能是更好的選擇。 如果您打算將來執行多個任務,則需要特殊格式或需要數據驅動的替換,可能值得檢查上述第三個第三方工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM