我有这个存储过程:
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
我在控制流程中使用执行SQL任务创建了一个SSIS包。
这些是我的执行SQL任务编辑器设置:
这是我的变量设置:
这些是我的参数映射设置:
当我运行SSIS包时,出现错误:
错误:执行SQL存储过程中的0xC002F210(从' BI-Datatrunk'源表复制数据)任务,执行SQL任务:执行查询" exec = [sp_Carrier_Scan_Compliance]?输出,? Ø..."因以下错误而失败:"' ='。"附近的语法不正确。可能的失败原因:查询问题," ResultSet"属性设置不正确,参数设置不正确或连接未正确建立。
任务失败:执行SQL存储过程(从' BI-Datatrunk'源表复制数据)任务
警告:Carrier_Scan_Compliance_SP上的0x80019002:SSIS警告代码DTS_W_MAXIMUMERRORCOUNTREACHED。执行方法成功,但引发的错误数(1)达到允许的最大值(1);导致失败。当错误数达到MaximumErrorCount中指定的数量时,会发生这种情况。更改MaximumErrorCount或修复错误。
我不确定我错过了什么。
请帮帮我。
由于
答案 0 :(得分:2)
上一个错误的关键部分是
对象上的EXECUTE权限被拒绝 'sp_Carrier_Scan_Compliance',数据库'DATAK',架构'dbo'。“
您需要为执行Proc
的SQL用户分配EXECUTE权限USE DATAK
GO
GRANT EXECUTE ON sp_Carrier_Scan_Compliance TO <sql user>
GO