【发布时间】:2017-01-03 07:56:58
【问题描述】:
我有一个 SSIS 包,它使用带有动态 SQL 的存储过程作为 OLEDB 源。当我执行包时,我得到了这个错误
来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80004005 描述:“无法确定元数据,因为声明 过程“s_offc_cap_st_rpt_efile”中的“exec sp_executesql @sqlStr” 包含动态 SQL。考虑使用 WITH RESULT SETS 子句 明确描述结果集。”。
Oledb source 配置如下所示:
这个错误的原因是什么?有人可以帮我找到解决此问题的方法吗?
【问题讨论】:
-
您是否尝试过使用 WITH RESULT SETS 子句,就像错误消息中所说的那样?
-
我试图把它放在存储过程中......没有成功
-
那你做错了。请发布您的尝试,以便我们帮助调试它。您不在存储过程中使用它,而是在调用中使用它。见这里:stackoverflow.com/a/28328734/1507566
-
对不起,这会很痛苦,但它就是这样工作的。做对了,它会起作用的。
标签: sql-server tsql ssis dynamic-sql ssis-2012