[英]Execute SQL Server stored procedure through SSIS
我有这个存储过程:
CREATE PROCEDURE [dbo].[sp_Carrier_Scan_Compliance]
(@RETAILERID INT OUTPUT,
@SYSTEM_ID VARCHAR(10) OUTPUT)
AS
BEGIN
SET @RETAILERID = 2
SET @SYSTEM_ID = 'DMASOS'
...
END
我已经在控制流中使用Execute SQL Task创建了一个SSIS包。
这些是我的“ 执行SQL任务”编辑器设置:
这是我的变量设置:
这些是我的参数映射设置:
运行SSIS程序包时,出现错误:
错误:执行SQL存储过程中的0xC002F210(要复制“ BI-Datatrunk”源表中的数据)任务,执行SQL任务:执行查询“ exec = [sp_Carrier_Scan_Compliance]?OUTPUT ,? O ...”失败,并出现以下错误:“'='附近的语法不正确。”。 可能的失败原因:查询问题,“ ResultSet”属性未正确设置,参数未正确设置或连接未正确建立。
任务失败:执行SQL存储过程(从“ BI-Datatrunk”源表复制数据)
警告:在Carrier_Scan_Compliance_SP处为0x80019002:SSIS警告代码DTS_W_MAXIMUMERRORCOUNTREACHED。 执行方法成功,但是引发的错误数(1)达到允许的最大值(1); 导致失败。 错误数量达到MaximumErrorCount中指定的数量时,会发生这种情况。 更改MaximumErrorCount或修复错误。
我不确定我缺少什么。
请帮我。
谢谢
最后一个错误的关键部分是
对对象'sp_Carrier_Scan_Compliance',数据库'DATAK',模式'dbo'的EXECUTE权限被拒绝。”
您需要为执行Proc的SQL用户分配EXECUTE权限
USE DATAK
GO
GRANT EXECUTE ON sp_Carrier_Scan_Compliance TO <sql user>
GO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.