这是我的脚本,我抓住SCOPE_IDENTITY()并分配给SSIS包变量。
--START: SCRIPT TO CHECK IF THERE IS ENTRY FOR 'UNKOWNN' IN AUDIT DIMESNION - IF NOT INSERT
IF NOT EXISTS (SELECT AUDIT_SK FROM SHARED.AUDIT_DIM WHERE AUDIT_SK = -1)
BEGIN
SET IDENTITY_INSERT SHARED.AUDIT_DIM ON
INSERT INTO [SHARED].[AUDIT_DIM]
(AUDIT_SK
,[JOB_ID]
,[OUTPUT_STREAM_ID]
,[OUTPUT_STREAM_DESC]
,[SELECTION_START_DATE]
,[SELECTION_END_DATE]
,[JOB_RUN_DATE])
VALUES
(-1
,-1
,-1
,'UNKNOWN'
,'1000-01-01'
,'1000-01-01'
,'1000-01-01')
SET IDENTITY_INSERT SHARED.AUDIT_DIM OFF
END
--- END 'UNKOWNN' IN AUDIT DIMESNION
INSERT INTO [SHARED].[AUDIT_DIM]
(
[JOB_ID],
[OUTPUT_STREAM_ID],
[OUTPUT_STREAM_DESC],
[SELECTION_START_DATE],
[SELECTION_END_DATE],
[JOB_RUN_DATE]
)
VALUES (
?, --parameters passed from package variables
?, --parameters passed from package variables
?, --parameters passed from package variables
?, --parameters passed from package variables
?, --parameters passed from package variables
? --parameters passed from package variables
)
SELECT CONVERT(INT,SCOPE_IDENTITY()) -- This is assigned back to Package variable
在过去的几个月里,这一切都运行良好,而且一直失败并出现以下错误。
消息
以用户身份执行:XXXXXXX \ xxxxxxx。 Microsoft(R)SQL Server执行包实用程序版本10.0.2531.0(适用于64位版权所有(C)Microsoft Corporation 1984-2005。版权所有。开始时间:下午3:53:54错误:2012-04-30 15:54:07.15代码:0xC002F210来源:生成AUDIT_SK执行SQL任务描述:执行查询“--START:如果有'U进入则检查脚本' ...“因以下错误而失败:”将结果提取到类型(DBTYPE_I2)变量时发生错误。可能的故障原因:查询问题,“ResultSet”属性设置不正确,参数设置不正确或连接未正确建立。结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。开始于:3:53:54 PM完成:3:54:07 PM经过:13.151秒。包执行失败。步骤失败了。
如果我将包复制到不同的环境或在SSMS中单独运行脚本,一切正常。
有人可以指导我在哪里开始研究吗?
由于