【问题标题】:SSIS VS_NEEDSNEWMETADATA errorSSIS VS_NEEDSNEWMETADATA 错误
【发布时间】:2016-03-16 04:41:04
【问题描述】:

我在 SQL Server 中创建了一个 SSIS 包,用于从 ODBC 源(QuickBase 应用程序)导出数据。我还通过 SQL Server 中的 sql 作业代理对其进行了安排,一切正常。

当源中有一些更改时,作业将失败。

我在修改要从中导出数据的源表的列时遇到错误 VS_NEEDSNEWMETADATA。

刷新元数据后它正在工作,但我想要永久解决这个错误。

如何自动刷新元数据,请帮帮我。

谢谢。

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    SSIS 本身没有提供这样的功能。元数据是设计时函数,因此是静态的。每次底层元数据更改时,您都必须刷新和重新验证。 codeplex 上有一些自定义组件可以自动刷新元数据。但上次我看到它时,它只能用于文件系统存储。

    只是想知道为什么需要频繁更改元数据?修改现有列时会出现此错误。如果数据库设计是正确的,那么我会假设这样的更改将是最小的。

    【讨论】:

    • 我的源是 Quickbase 数据,它会经常更改,因为用户要求是在源中添加新列然后我的包给我这个错误
    • 如果要求将新列添加到源中,那么只要您没有编写类似于“select *”的内容从源中检索所有列,就不会发生元数据错误。如果您已指定列名,则仅当您更改有关这些列的信息时才会发生元数据错误。新列不会导致问题。
    • 是的,在我的源连接中,我有选择表视图,表视图就像“选择 *”
    【解决方案2】:

    这是 -> 源和目标之间的列名不匹配(更正名称,它应该可以工作) -> 您在源和目标中添加/删除列(刷新元数据)

    【讨论】:

      猜你喜欢
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多