有一个存储过程,它以XML作为输出,它在SSMS中显示xml输出。如何使用SSIS从此存储过程生成XML文件到特定位置。我找到了一个链接,建议使用VB和脚本任务来执行此操作。可以在不使用脚本任务的情况下完成此操作吗?我也尝试了以下链接中的步骤:
How to export from SQL Server to XML
程序包在执行SQL任务本身失败并出现错误[执行SQL任务]错误:执行查询“EXEC USP_PMAXML”失败,并显示以下错误:“找不到存储过程'EXEC USP_PMAXML'。”。可能的失败原因:查询问题,“ResultSet”属性设置不正确,参数设置不正确或连接未正确建立。
感谢您的时间和帮助。
答案 0 :(得分:3)
A)您收到的错误表示找不到存储过程。您需要验证
[domain\user].USP_PMAXML
} B)如果您想使用开箱即用的方法并避免编写脚本,请删除Execute SQL Task
。下面我展示了一个用于复制目的的执行SQL任务。它创建了一个生成XML的存储过程。
假设应该只生成一个文件,从OLE DB Source中添加一个派生列转换,并在其中定义输出文件名,我假设它是C:\ssisdata\so_xmlExtract.xml
。我将进一步假设您将列重命名为FileName。您将使用的确切值是“C:\ ssisdata \ so_xmlExtract.xml”注意斜杠加倍,因为我们必须转义\
字符以及用双引号括起来。
此时,您已准备好使用“导出列转换”。示例Export Varbinary(max) column with ssis和 Using SSIS to extract a XML representation of table data to a file