Informatica中的存储过程转换

Informatica中的存储过程转换可帮助您在Informatica工作流中使用或调用存储过程。使用此转换,您可以执行索引的删除或重新创建、检查数据库空间、执行复杂计算。

本文将通过一个示例,介绍如何使用此Informatica存储过程转换来回滚通过的记录。在本示例中,我们将使用SP源表和目标表。

我们将使用的存储过程是

从上图可以看出,该存储过程有一个输入参数和一个输出参数

提示:我们在SQL Server教程中解释了存储过程及其功能的全部内容。我建议您参考存储过程文章来理解该主题。

Informatica中的存储过程转换示例

让我们看看如何在Informatica中使用存储过程转换来调用工作流中的存储过程。在我们开始配置之前,首先,请连接到Informatica存储库服务。

为此,我们必须提供管理员控制台凭据。因此,请提供在安装服务器时指定的用户名和密码。

Informatica中存储过程转换的源定义

成功连接后,请导航到源分析器并定义您的源。在这里,我们将SQL数据库中的Sp Source表用作我们的源定义。请参考数据库源以了解创建源定义的步骤

为存储过程转换创建目标定义

请导航到目标设计器以定义Informatica存储过程转换目标。在此示例中,我们将使用现有表(SP Destination)作为目标定义。您可以参考创建目标表以了解创建目标定义的流程

为Informatica存储过程转换创建映射

要创建新映射,请导航到菜单栏中的“映射”菜单,然后选择“创建...”选项。

Create a Mapping for Stored Procedure Transformation

选择“创建...”选项后,将打开一个名为“新建映射”的窗口。我将m_StoreProc命名为映射名称,然后单击“确定”按钮。

提示:请参考映射文章以了解创建映射的过程

将“源”文件夹中的Sp Source拖放到映射设计器。拖动源后,Power Center Designer将自动为您创建源限定符转换(默认转换)。

创建Informatica存储过程转换

要创建Informatica中的存储过程转换,请导航到菜单栏中的“转换”菜单。接下来,选择“创建...”选项

选择“创建...”选项将打开“创建转换”窗口。请从下拉列表中选择存储过程转换,提供一个唯一的名称(sp_Testing),然后单击“创建”按钮

Select Stored Procedure Transformation in informatica 9

单击“创建”按钮将弹出一个名为“导入存储过程”的新窗口。请选择将连接到源的ODBC连接。这就是我们的存储过程被创建的地方。要创建新的ODBC连接,请参考ODBC连接文章。

从下面的屏幕截图中,可以看到我们正在选择spUpdateCust存储过程。

Import Stored Procedure into Informatica 10

通过单击“确定”,将为您创建一个Informatica存储过程转换。从下面的屏幕截图中可以看到,它有三个端口:Return_value、EmpId和New Income

接下来,将(SPDestination)目标定义从“目标”文件夹拖放到映射设计器。

sp transformation mapping 12

接下来,我们将EmpId从源限定符连接到转换。因为spUpdateCust接受一个输入参数(EmpId)来返回New Income输出。

Stored Procedure Transformation mapping 13

双击Informatica存储过程转换以查看和修改属性。下面的屏幕截图显示了“转换”选项卡中可用的属性列表

  • 选择转换:默认情况下,它将选择您选择的(或单击的)转换。
  • 重命名:此按钮可帮助您重命名转换名称。
  • 描述:使用此位置为该转换提供有效的描述。
edit sp transformation 14

下面的屏幕截图显示了Informatica存储过程转换“端口”选项卡中可用的选项

  • 端口名称:可用列名列表。使用“新建列”按钮添加新列,使用剪刀按钮删除不需要的列。
  • I:输入列。
  • O:在此,被勾选的列是输出列。
edit Stored Procedure Transformation 15

在属性选项卡中,单击“连接信息”类型旁边的“箭头”按钮,并使用连接变量$Source,因为我们使用了存在于信息源中的SP。

将源限定符转换中存在的所有字段拖放到目标定义。请使用“自动链接...”选项将它们连接起来。接下来,将转换中的NewIncome字段连接到目标定义。

Stored Procedure Transformation in Informatica 17

在关闭映射之前,让我们通过转到“映射”菜单栏并选择“验证”选项来保存和验证映射。

创建工作流

完成Informatica存储过程转换映射的创建后,我们必须为它创建工作流。PowerCenter Workflow Manager提供两种创建工作流的方法。

在此示例中,我们将手动创建工作流。为此,请导航到“工作流”菜单并选择“创建”选项。它将打开“创建工作流”窗口。请提供唯一的名称(wf_StoredProc),并保留默认设置。

Create Stored Procedure Transformation Workflow

创建工作流后,我们的下一步是为我们的映射创建会话任务。

为存储过程转换创建会话

有两种类型的会话

对于此Informatica存储过程转换示例,我们创建了一个非可重用会话。要创建非可重用会话,请导航到“任务”菜单并选择“创建”选项。

请为此会话提供一个唯一的名称。在这里,我们将其命名为s_StoredProc。单击“创建”按钮后,将打开一个名为“映射”的新窗口。您必须在此处选择要与此会话关联的映射,即m_Storedproc。

Select Stored Procedure Transformation in Informatica mapping

双击会话任务将打开“编辑任务”窗口。在“属性”选项卡中

$Source连接值:此属性将把关系源信息存储在$Source变量中。因此,单击下方标记的箭头,然后选择Source作为源信息。

$Target连接值:此属性将把关系目标信息存储在$Target变量中。因此,单击下方标记的箭头,然后选择Target作为目标信息。

在“映射”选项卡中,我们必须配置源和目标连接。首先,让我们通过单击“源”文件夹中存在的SQ_SPSource源来配置源连接。

在“连接”中,单击关系类型旁边的箭头按钮。并使用我们在上一步中创建的连接变量,即$Source

现在,我们必须配置Informatica存储过程转换目标连接。因此,请单击“目标”文件夹中存在的SPDestination。在“连接”中,单击关系类型旁边的箭头按钮,并使用连接变量$Target

在这里,我们还可以配置连接信息。为此,请单击“转换”文件夹中存在的SP_Testing。

接下来,导航到“工作流”菜单并选择“验证”选项以验证工作流。

Start Stored Procedure Transformation in Informatica workflow

现在,我将启动Informatica存储过程转换工作流。为此,请导航到“工作流”菜单并选择“启动工作流”选项。

让我们打开Management Studio并写入以下SQL查询。