sql – SSIS包不希望获取临时表的元数据
我有一个包含多个流的SSIS包。
每个流程都负责创建一个“分期”表,在创建之后会被填满。 我添加了一个额外的流程(我没有制作包),正如上面提到的另外一个表。然而,由于某些原因,该包在此流程上间歇性地失败,而除了某些表名之外,它与其他流程完全相同。 不断弹出的错误:
创作表达: "CREATE TABLE " + @[User::TmpMcsConfigurationDeviceHistory] + " ([RecId] [bigint] NULL,[DataAreaID] [nvarchar](4) COLLATE database_default NULL,[Asset] [bigint] NULL,[Code] [nvarchar](255) COLLATE database_default NULL,[Configuration] [bigint],[StartdateTime] [datetime] NULL,[EndDateTime] [datetime] NULL) “ 解析表达式(=评估): CREATE TABLE ##TmpMcsConfigurationDeviceHistory764E56F088DC475C9CC747CC82B9E388 ([RecId] [bigint] NULL,[EndDateTime] [datetime] NULL) 解决方法UsingWITH RESULT SETS to explicitly define the metadata将允许SSIS跳过sp_describe_first_result_set步骤,并使用您定义的元数据。上面的一面是,您可以使用它来获取SSIS来执行包含临时表的SQL(对我来说,性能有很大帮助);缺点是,如果有任何改变,您必须手动维护和更新。
查询示例(存储过程:) EXEC ('dbo.MyStoredProcedure') WITH RESULT SETS ( ( MyIntegerColumn INT NOT NULL,MyTextColumn VARCHAR(50) NULL,MyOtherColumn BIT NULL ) ) 查询示例(简单SQL (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |