SCOPE_IDENTITY()始终返回NULL + SSIS

时间:2012-05-04 03:35:11

标签: sql-server-2008 scope-identity

这是我的脚本,我抓住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中单独运行脚本,一切正常。

有人可以指导我在哪里开始研究吗?

由于

0 个答案:

没有答案