2015-10-06 63 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中创建文件。

第二种选择可能是文件已经存在。

第三个选项可能是该文件已被使用。

相关问题