首页 > 数据库 > mysql教程 > 为什么我的 SSIS 包在从临时表检索元数据时失败?

为什么我的 SSIS 包在从临时表检索元数据时失败?

Mary-Kate Olsen
发布: 2024-12-29 05:13:10
原创
705 人浏览过

Why Does My SSIS Package Fail When Retrieving Metadata from Temporary Tables?

由于临时表导致 SSIS 包中元数据检索失败

在 SSIS 中,从临时表检索元数据有时会导致包失败错误:“未指定的错误。OLE DB 记录可用。无法确定元数据,因为语句 'select * from “##TmpMcsConfigurationDeviceHistory86B34BFD041A430E84CCACE78DA336A1”使用临时表。“

当程序包尝试访问名为“##TmpMcsConfigurationDeviceHistory”的全局临时表时,会出现此问题。该错误表明 SSIS 无法动态确定临时表的元数据。

解决方案

要解决此问题,您可以显式定义临时表的元数据使用WITH RESULT SETS 子句的表。这为 SSIS 预先提供了必要的信息,无需动态确定元数据,否则可能会导致临时表失败。

带有结果集的示例查询:

EXEC ('
    CREATE TABLE #a 
      (
        MyIntegerColumn INT NOT NULL,
        MyTextColumn VARCHAR(50) NULL,
        MyOtherColumn BIT NULL
      ) 
    INSERT INTO #a 
      (
        MyIntegerColumn,
        MyTextColumn,
        MyOtherColumn
      )
    SELECT 
        1 AS MyIntegerColumn,
        ''x'' AS MyTextColumn,
        0 AS MyOtherColumn

    SELECT MyIntegerColumn, MyTextColumn, MyOtherColumn
    FROM #a')

WITH RESULT SETS
    (
        (
            MyIntegerColumn INT NOT NULL
           ,MyTextColumn VARCHAR(50) NULL
           ,MyOtherColumn BIT NULL
        )
    )
登录后复制

通过显式提供元数据,SSIS 可以避免从临时表动态检索元数据,从而消除错误并使包能够成功获取元数据。

以上是为什么我的 SSIS 包在从临时表检索元数据时失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板