【问题标题】:Using Multiple Sources in SSIS Data Flow Task在 SSIS 数据流任务中使用多个源
【发布时间】:2011-03-29 22:12:42
【问题描述】:

对于我的数据流任务,我有一个 OLEDB 源。在本篇的 SQL 命令部分,我根据来自两个不同数据库的表编译了一个选择查询,这些表保存在同一个实例上。每次我运行它都会出错,但是当我将表移动到同一个数据库(出于测试目的)时它会起作用。

我从这个猜测源数据需要来自同一个数据库,但无论如何都存在这个问题?我尝试使用查找,但无法正常工作。我可以在源数据库中创建一个视图,但我猜肯定有办法将它全部保存在包中。

提前感谢您!这是我在 OLE DB 源中使用的查询:

选择 * 来自 commoncomponents.meta.ItemTypeLabelDefinition internalid 不在的地方 ( 选择内部标识 来自 iscanimport.dbo.ItemTypeLabelDefinition )

【问题讨论】:

  • "it errors" - 建议您发布错误...

标签: sql ssis dataflowtask


【解决方案1】:

不确定为什么跨数据库查询在一个源中不起作用,但一种方法是创建两个 OleDb 源,一个指向 CommonComponents DB,从 ItemTypeLabelDefinition 中进行选择,另一个指向 IScanImport 和从您的子查询中选择语句。最好在查询中以相同的方式对它们进行排序,然后使用 Merge Join 任务将它们组合起来。

【讨论】:

  • 啊啊太聪明了,谢谢!我会试一试的!也非常感谢您的快速回复,我非常感谢!
  • 这似乎可行,但是在将数据插入目标位置时,我收到以下消息:[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“SQL Server 目标输入”(32) 时,组件“SQL Server 目标”(16) 上的 ProcessInput 方法失败,错误代码为 0xC02092B5。我读到这可能是因为目标源中的空值是非法的,但事实并非如此,我已经在数据查看器中检查了数据并且看起来很好。请问您有什么想法吗?这真让我抓狂!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-05
  • 1970-01-01
相关资源
最近更新 更多