請建議我如何將sql查詢結果轉換爲具有特定文件名的文本文件,其中包含當前日期,如name_dd- mm-yyyy.txt.I想使用作業或存儲過程自動執行此操作。如何將sql查詢結果轉換爲具有特定文件名稱(如name_dd-mm-yyyy.txt)的文本文件
回答
可能有兩個「最佳」的方式去這裏,無論是與集成服務,讓您有一個文本文件輸出,或在分批BCP實用程序文件和/或存儲過程。
我用來管理在存儲過程中動態生成BCP OUT命令並將其傳遞到xp_cmdshell以便將其輸出到文件中的進程。在SSIS之前,這是一個遺留的過程,但它爲我們所需要的工作提供了幫助。
您能夠使用SSIS嗎?還是需要批處理?如果您處於批處理方向,我可以提供一些代碼示例。
編輯 - 這裏是腳本示例。
首先,我假設你已經有一個存儲過程與你想要導出的數據,所以我將關注批處理文件。
這裏是一個方便的方式來獲得你正在尋找的日期字符串:
REM Creates a string in the form of YYYYMMDD-hhmm, with no embedded spaces
SET hh=%time:~0,2%
IF "%time:~0,1%"==" " SET hh=0%hh:~1,1%
SET DateString=%date:~10,4%%date:~4,2%%date:~7,2%-%hh%%time:~3,2%
你會使用這個後來命名文件。
如果你只有一個查詢需要從一個批處理文件調用,您可以使用此:
BCP "exec dbo.MyExportProc" queryout Export_%DateString%.csv -S (local) -T -m0 -t^|
這將運行dbo.MyExportProc並使用管道創建一個文件Export_YYYYMMDD,hhmm.csv |作爲分隔符。 -T指定NT身份驗證,-m0指定允許的錯誤數量。 -S是要連接的服務器。
與間歇過程,可以參數化這一點,並生成一個列表,並把它在列表中運行,BCP了一整組查詢:
FOR /F "tokens=1-2 delims=~" %%A in (RunList.txt) do (
BCP "%%A" queryout %DateString%.csv -S (local) -T -m0 -t^|
)
從SQL Server中運行它,你會只需要生成命令行的文本,如上面提到的,並執行類似如下:
declare @command varchar(max)
set @command = 'BCP "exec dbo.MyExportProc" queryout Export_' + CAST(CONVERT(DATETIME, GETDATE(), 101) AS VARCHAR(21)) + '.csv -S (local) -T -m0 -t^|'
exec xp_cmdshell @command
你需要確保你有機會運行xp_cmdshell,這是外圍應用配置器中進行管理。
希望這會讓你走上正軌!
非常感謝Vinnie的回覆,請提供一些批處理代碼示例。 – Simhadri 2010-10-22 15:08:52
- 1. 如何查找具有特定名稱的XML文件
- 2. SQL - 將結果自動轉換爲CSV或文本文件
- 3. 用SQL查詢文本文件將大數轉換爲NULL
- 4. 如何從查詢結果替換特定文本
- 5. 如何使用Webix和Javascript下載具有特定名稱的文本文件
- 6. 如何查詢具有特定ID的json文件並獲取結果數組?
- 7. 如何將json文件轉換爲excel/sql查詢
- 8. SQL查詢結果到文件腳本
- 9. 如何將RGB值的文本文件轉換爲png文件?
- 10. 如何將文本文件轉換爲java中的TIF文件
- 11. 如何導出具有特定名稱的csv文件?
- 12. 如何列出具有特定前綴名稱的mat文件?
- 13. 將SQL查詢結果寫入文本文件
- 14. SQL Server-如何將變量和查詢結果寫入文本文件?
- 15. 如何將文本文件轉換爲xml文件?
- 16. 如何將Xml文件轉換爲文本文件2
- 17. 如何將文本文件轉換爲GPX文件?
- 18. 如何將excel文件轉換爲文本文件?
- 19. 如何在Excel中將Excel文件轉換爲文本文件?
- 20. 如何將文本文件自動轉換爲graphviz點文件?
- 21. 如何將文本文件轉換爲aircrack-ng文件(pcap)
- 22. 如何將Xml文件轉換爲文本文件
- 23. 如何將可執行文件轉換爲文本文件。
- 24. 如何自動將文本文件轉換爲Graphviz DOT文件?
- 25. 將rqda文件轉換爲sql文件
- 26. 將.bak文件轉換爲.sql文件
- 27. 將結果集轉換爲Excel文件
- 28. 將錶轉換爲查詢結果中的文本
- 29. 用於將網格結果轉換爲CSV文件的SQL查詢
- 30. 查找具有特定名稱的所有子文件夾,使得超級文件夾具有特定模式
什麼版本的SQL Server?你有權訪問集成服務或DTS嗎? – 2010-10-19 16:00:45