我正在使用以下帖子尝试将查询结果打印到文件中: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 2008与SQL Server Management Studio。不幸的是
答案 0 :(得分:1)
如果您将HRESULT -2146828218转换为HEX,则会获得800A0046
,如果您将Google转换为0x800A0046,则会找到
CTL_E_PERMISSIONDENIED
最合理的是运行COM Scripting.FileSystem对象的标识没有写入C:\TEMP\SQL_XML
的权限。因此,请验证Sql Service用户是否有权使用C:\ TEMP \ SQL_XML创建文件。
第二个选项可能是该文件已存在。
第三个选项可能是该文件已被使用。