2011-12-22 96 views
0

我有需要處理和從SQL數據庫將查詢和表格轉儲爲磁盤上xml格式的服務器。這需要是一項計劃任務。將SQL表格輸出到XML文件的最有效方法

目前通過計劃的批處理文件中使用BCP> sql腳本>的xp_cmdshell> BCP,但這個錯誤

SQLSTATE = S1000,NativeError = 0
錯誤= [微軟] [SQL Server本機客戶端10.0] [SQL Server]警告:服務器數據(172885字節)超出字段(1)的主機文件字段長度(65535字節)。使用前綴長度,終止字符串或更大的主機文件字段大小。對於BCP輸出文件,截斷不會發生 。

讓日記文件困擾我。我還沒有找到任何解決方案。我不太明白'主機文件字段'指的是什麼。原始表中沒有列的值高達172885字節。輸出文件非常大,到目前爲止似乎所有數據都被寫入,但似乎在所有xml文件末尾都有一些垃圾。

性能很重要,但在這種情況下,可靠性對我來說是最重要的。

我已經嘗試在本地重新創建錯誤,但一直沒有成功。該服務器運行Windows Server 2008 R2。

任何有關錯誤及其含義的幫助或解釋/分析,以及將sql表/查詢轉儲到xml文件的簡單預定解決方案的建議,我們將不勝感激。

回答

1

你應該看看FOR XML PATH語法在SQL Server 2005中引入:

有了這個,你可以輕鬆地創建非常漂亮的XML輸出,包括層次結構,屬性和更多

+0

我錯過了一些問題的細節,問題是沒有得到我的表/查詢到XML,因爲我目前使用FOR XML語法來獲取XML數據,但麻煩(和錯誤),我相信是從解決方案用於將xml數據轉儲到文件。所以我更期待理解我的問題中的錯誤,並找到在磁盤上創建xml文件的解決方案。 – Vort3x 2011-12-22 14:20:07

+0

@ Vort3x:好的,你可以把你的'SELECT ... FOR XML PATH'的調用包裝到一個.NET應用程序或其他可以爲你創建磁盤上的文件的東西? – 2011-12-22 14:33:25

相關問題