gpt4 book ai didi

xml - SSIS 如何从变量传递 XSD 路径

转载 作者:行者123 更新时间:2023-12-04 18:10:17 27 4
gpt4 key购买 nike

我正在运行 SQL/BIDS 2005(当前的 PROD 环境)。

我正在尝试做一些基本的 POC,任务相当简单:

  • 从硬盘中获取XML文件
  • 做一些映射
  • 用结果更新数据库

我采取的步骤:

  • 创建一个新包
  • 添加数据流任务
  • 在数据流中添加 XML 源任务

当我在 XML 源属性中提供 XML 和 XSD 位置时,一切正常。

我可以很好地看到所有 XML 字段,因此我可以继续进行映射等。

以上显然是 Not Acceptable ,我需要做的是从变量(以及稍后从配置文件)传递 XML 和 XSD 值。

所以我转到数据流的表达式并将 XML 和 XSD 指向变量(我评估了结果,它是完美的)。

……除了它不起作用。
当我尝试运行打开 XML 源任务时,它会抛出以下内容:

该组件在验证期间检测到潜在的元数据损坏。然后它将对象引用 nopt 设置为实例的堆栈提供...从 Dts.Pipeline.ManagedComponentHostValidate(IDTSManagedComponentWrapper90 wrapper) 开始

正如我提到的,我验证了 xml 文档和模式及其格式。当直接在 xml 源中传递它们时,它起作用了。仅当我尝试从数据流级别(作为表达式)传递这些值时,它才起作用。

最佳答案

您可能会发现 SSIS 2005 对数据流中添加的列 react 不佳。在数据流的后续步骤之间的“箭头”中,它们似乎并没有很好地被拾取(这在后来的 SSIS 版本中得到了改进)。

您可以查看这些箭头上的属性,特别是“元数据”选项卡,看看它们是否真的包含您的所有列。恐怕我经常不得不删除所有数据流步骤,然后有条不紊地重新构建它们,确保我从头开始使用完整的列集。

是的,您可以在大多数地方使用变量。您必须寻找的是“表达式”属性。它并不总是显而易见的。那就是你告诉它使用变量的地方。当您在 BIDS 中执行此操作时,它将使用在您的开发环境中设置的任何变量,并将设置文本属性以反射(reflect)该变量设置。这只是暂时的。稍后,在运行时,它实际上会使用您在运行时给它的变量。但是在开发过程中,您的变量必须实际指向,例如,具有正确结构的有效文件。否则您将无法构建数据流。这就是 SSIS 的工作方式。这在以后的版本中没有改变。

P.S.,我刚刚在 related question here 中添加了更多细节.

If you "edit" the connection manager it will show you the edit window. That's not the one you want. Look at the "properties" window, which is where you will find the "Expressions" entry, in front of an empty box.

Click on the empty box, and it will show you a button with three dots on it. Click on that button. This pulls up the "Property Expression Editor". There is a dropdown with properties like "ConnectionString" on the left. On the right, there is ANOTHER button with three dots. Click on that button to pull up the "Expression Builder". If you have declared any variables, you will find them listed in the upper left hand corner, e.g., as User::VariableName, and you can then drag them into the Expression box, where they will appear as @[User::VariableName]. Not obvious, but doable.

关于xml - SSIS 如何从变量传递 XSD 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15221143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com