2011-03-29 108 views
0

对于我的数据流任务,我有一个OLEDB源。在这个SQL命令部分中,我编译了一个基于来自两个不同数据库的表的select查询,这些数据库保存在同一个实例中。每次我运行这个错误,但当我将表移动到相同的数据库(出于测试目的)它的工作。在SSIS数据流中使用多个源任务

我从这个猜测源数据需要来自同一个数据库,但无论如何围绕此?我尝试使用查找,但我无法得到它的工作。我可以在源数据库中创建视图,但我猜测必须有一种方法将其全部保留在包中。

预先感谢您!这是我使用的OLE DB源查询:

SELECT * 从commoncomponents.meta.ItemTypeLabelDefinition 其中internalid不

+0

“it errors” - 建议你发布错误... – 2011-03-29 14:12:50

回答

0

不( 从iscanimport.dbo.ItemTypeLabelDefinition 选择internalid )确定为什么跨数据库查询不能在一个源中工作,但一种方法是创建两个OleDb源,一个指向CommonComponents DB执行ItemTypeLabelDefinition中的选择,另一个指向您的IScanImport和select语句子查询。最好在查询源中按照相同的方式进行排序,然后使用合并联接任务来合并它们。

+0

Aaah很聪明,谢谢!我会放弃这一点!非常感谢你的回应,我真的很感激! – JYatesDBA 2011-03-29 15:16:19

+0

这似乎工作,但是当它将数据插入到目标位置时,我收到以下消息:[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。组件“SQL Server目标”(16)上的ProcessInput方法在处理输入“SQL Server目标输入”(32)时失败,错误代码为0xC02092B5。我读过这可能是因为空值在目标源中是非法的,但事实并非如此,我已经在数据查看器中检查了数据并且看起来很好。你有什么想法吗?这真让我抓狂!谢谢! – JYatesDBA 2011-03-30 09:49:53

相关问题