(OLE DB) 执行 SQL 任务 - 使用输出参数
我试图在 SSIS 中使用“执行 SQL 任务”来获取要存储在用户变量中的值。 文档说要使用“?”作为查询中参数的占位符,但是当我这样做时,尝试解析查询时出现语法错误。 所以查询是这样的:
SELECT ? = AVG(Score) FROM Scorecards
我还尝试在“?”之后添加 OUTPUT。我能找到的具有输出参数的所有示例都类似于
EXEC ? = MyStoredProc param1, param2, ...
这没有任何用处,因为我没有使用存储过程。该参数的使用看起来很相似,那么为什么 SSIS 不将其用作 select 语句呢?
I'm trying to use "Execute SQL Task" in SSIS to get a value to be stored in a user variable.
The documentation says to use '?' as a placeholder for parameters in the query but when I do I get a syntax error trying to parse the query.
So the query is like this:
SELECT ? = AVG(Score) FROM Scorecards
I've also tried adding OUTPUT after the '?'. All examples I can find for having an output parameter are similar to
EXEC ? = MyStoredProc param1, param2, ...
This isn't of any use though since I'm not using a stored proc. The use of the parameter seems similar though so why won't SSIS take it for a select statement?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要将 ResultSet 属性设置为 Single Row,然后将查询修改为如下所示:
然后在“结果集”窗格中单击“添加”,将“结果名称”设置为“AvgScore”,将变量设置为“变量名称”(例如,User: :平均得分)。
You'll need to set the ResultSet property to Single Row, then amend your query to something like:
Then in the Result Set pane, click Add, set the Result Name to AvgScore, and your variable to Variable Name (for example, User::AvgScore).