Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用Informatica连接位于不同数据库中的多个表_Sql_Sql Server_Informatica_Informatica Powercenter_Netezza - Fatal编程技术网

Sql 使用Informatica连接位于不同数据库中的多个表

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

我正在尝试连接6个表,其中5个表位于Netezza数据库中,最后一个表位于SQL Server数据库中。我需要联接这六个表并提取所有必需的字段,然后将它们加载到位于Netezza上的目标表中。我尝试在SQL override中编写SQL以联接所有表,但它引发了一个错误。有人能帮我解决这个问题吗?谢谢。

您需要使用
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端执行完全联接并读取结果。