2015-10-06 72 views
0

我現在用的是下面的帖子,試圖讓打印出來的文件查詢的結果:Save a SQL query result to an XML file without SSIS or xp_cmdshell有什麼辦法獲得關於這個錯誤的更多信息嗎?

但是當我運行它,我得到一個錯誤說:

Msg 50000, Level 16, State 1, Procedure WriteToFile, Line 42 
Error whilst Creating file "C:\TEMP\SQL_XML\test.xml", 

我在想,如果有什麼方法可以獲得更多關於它爲什麼錯誤的信息?我不太瞭解調試SQL查詢。我在SQL Server Management Studio中使用SQL Server 2008。不幸的是

+2

它是否真的在錯誤信息中說「while」?棒極了。 :) –

+0

是的,但它來自錯誤處理代碼通過鏈接 – discodowney

+0

哦,你的意思是說,這個錯誤信息是由你擁有的一些錯誤處理代碼產生的嗎?如果是這樣,你可以繞過它來獲得SQL Server返回的實際錯誤消息嗎? –

回答

1

如果轉換HRESULT -2146828218到詛咒你得到800A0046,如果你谷歌0x800A0046你會發現

CTL_E_PERMISSIONDENIED

最合理的是,身份運行COM腳本。 FileSystem對象無權寫入C:\TEMP\SQL_XML。因此請驗證Sql Service用戶是否有權在C:\ TEMP \ SQL_XML中創建文件。

第二種選擇可能是文件已經存在。

第三個選項可能是該文件已被使用。

相關問題