首页 > 解决方案 > 如何使用 Informatica 在 Pre-SQL 中调用未连接的存储过程?

问题描述

我创建了一个映射来截断和加载目标表中的数据。我曾经在我的映射中使用未连接的存储过程转换。存储过程没有输出结果,它本身将有输入参数(数据库名称、模式名称、表名称)。我尝试编写不同的命令来调用存储过程

:SP.sp_name('db name', 'schema name', 'table name') 
CALL sp_namE('db name', 'schema name', 'table name'); 
CALL SP_NAME(); 

但他们都没有工作。

映射如下:

SOURCE > SQ > TARGET  UNCONNECTED sp transformation.

标签: sql-serverinformaticainformatica-powercenter

解决方案


调用 SQL prodedure - 或任何其他 SQL 语句 - 作为 Pre-或 Post-SQL 根本不需要在映射中进行转换。您可以放置​​任何将在映射运行之前之后执行的 SQL。这意味着它会在映射根本不运行时运行。

现在,如果您需要从某个源获取一些输入参数以调用您的 SQL 过程,那么您需要使用SQL Transformation映射内的 调用 SQL 过程,读取参数,然后调用 SQ。您可能还需要一个 False-Filter 来消除发送到目标的任何输出。

您的最终映射将如下所示:

Source -> Source Qualifier -> SQL Transformation -> Filter -> Target

推荐阅读