Sql 使用Informatica连接位于不同数据库中的多个表
我正在尝试连接6个表,其中5个表位于Netezza数据库中,最后一个表位于SQL Server数据库中。我需要联接这六个表并提取所有必需的字段,然后将它们加载到位于Netezza上的目标表中。我尝试在SQL override中编写SQL以联接所有表,但它引发了一个错误。有人能帮我解决这个问题吗?谢谢。您需要使用Sql 使用Informatica连接位于不同数据库中的多个表,sql,sql-server,informatica,informatica-powercenter,netezza,Sql,Sql Server,Informatica,Informatica Powercenter,Netezza,我正在尝试连接6个表,其中5个表位于Netezza数据库中,最后一个表位于SQL Server数据库中。我需要联接这六个表并提取所有必需的字段,然后将它们加载到位于Netezza上的目标表中。我尝试在SQL override中编写SQL以联接所有表,但它引发了一个错误。有人能帮我解决这个问题吗?谢谢。您需要使用Joiner转换 首先连接位于同一数据库中的5个表。将此SQL连接到一个源限定符中的5个表。这将连接并从一个数据库中提取数据。接下来,创建另一个源限定符以从第6个表中提取数据 最后,使用J
Joiner转换
首先连接位于同一数据库中的5个表。将此SQL连接到一个源限定符中的5个表。这将连接并从一个数据库中提取数据。接下来,创建另一个源限定符以从第6个表中提取数据
最后,使用Joiner转换将这两个源限定符中的数据连接起来,您就完成了。我将无法连接5个表,因为没有公共键。其他数据库中存在的表具有键。在这种情况下,您需要将这6个表分别提取到暂存区域并在其中执行联接。源中有6个表,并且您希望在输出中有一个表。问题是,不能在一个源限定符中将6个表连接在一起,因为它们属于不同的数据库。事实上,您甚至不能将同一数据库中的5个表连接在一起,因为连接需要通过第6个表进行。我建议您使用一个Informatica映射(具有6条管道)将所有这6个表单独提取到单个数据库(例如,暂存区),然后创建另一个映射,将这6个暂存表连接到一个SQ中,并将它们加载到目标。或者使用5个连接器让Integration Service执行所有连接。也许(取决于表大小)两阶段方法:first session
将SQL Server表加载到Netezza,然后second session
使用单个源限定符和SQL覆盖在Netezza端执行完全联接并读取结果。