会话是一组指令,用于告知 Informatica Integration Service 何时以及如何将数据从源移动到目标。
在此 ETL 工具中,我们需要为每个映射创建一个会话任务,因为映射只是一个结构定义,它将数据从源移动到目标。Informatica 中有两种类型的会话:
- 不可重用会话任务:我们在 Workflow Designer 中创建的会话任务是不可重用的。
- 可重用任务:我们在 Task Developer 中创建的会话任务是可重用的。
在本文中,我们将通过一个示例向您展示如何在 Informatica 中创建不可重用会话。在创建不可重用会话之前,我们必须配置 Workflow Manager 以便与数据库和 Integration Services 进行通信。
在 Informatica 中创建会话
对于此示例,我们将使用我们上一篇文章中创建的映射。在 Informatica 中创建不可重用会话遵循三个步骤,因此您需要遵循相同的过程。
- 步骤 1:配置源和目标连接。在此示例中,我们连接到 SQL Server 关系数据库。
- 步骤 2:创建 Workflow Manager 以便与 Informatica Integration Services 进行通信。
- 步骤 3:创建会话。
首先,连接到存储库服务。要连接到存储库服务,我们必须提供 Admin Console 凭据,因此请提供适当的 Informatica 用户名和密码,然后单击“连接”按钮。
从下面的屏幕截图,您可以观察到我们现在位于 Task Developer 中。

配置源和目标连接
在开始创建 Informatica 会话之前,我们必须设置关系数据库连接。为此,请导航到“连接”菜单并选择“关系”选项。

选择“关系”选项后,将打开一个名为“关系连接浏览器”的新窗口。它帮助我们创建到关系数据库的连接。

对于此 Informatica 会话示例,我们将 SQL 作为源数据库,因此我们选择 Microsoft SQL Server 作为选择类型。

从下面的屏幕截图,您可以观察到我们目前没有任何关系连接。要创建一个新的,请单击“新建”按钮。

单击“新建”按钮后,将打开一个名为“连接对象定义”的新窗口。
- 名称:请为此连接指定唯一的名称。
- 用户名:您必须指定用于连接数据库的用户名。
- 密码:在此处,提供上述用户的密码。
- 数据库名称:请指定您将使用的数据库名称。在此示例中,我们使用 AdventureWorksDW2014。
- 服务器名称:在此处,您必须输入服务器实例名称。
填写详细信息后,单击“确定”按钮。

我们需要为目标数据库创建另一个连接字符串。虽然我们可以使用上述步骤创建,但我们想使用“复制为..”选项复制上述连接。

它将打开目标连接对象定义窗口。因此,请指定连接名称、数据库名称以及其余详细信息。

注意:配置好数据库连接后,我们必须在 Workflow Manager 中创建一个工作流。我们将在下一篇文章中对此进行说明。
Informatica 中的不可重用会话
要创建不可重用会话,请导航到“任务”菜单并选择“创建”选项。

接下来,您必须为 Informatica 中的此不可重用会话任务输入一个新名称。这里我们分配的名称是 s_DimProducts_from_SQL_to_SQL。

单击“创建”按钮后,将打开一个新的“映射”窗口。在这里,我们必须选择要与此会话关联的映射。从下面的屏幕截图,您可以观察到我们目前只有一个映射,因此我们正在选择它。
提示:请参考 映射 文章来理解下面指定映射 m_DimProducts_from_SQL_to_SQL 中的数据转换。

我们新创建的会话任务已添加到 Workflow Manager。在添加或链接到工作流之前,我们需要更改一些属性并配置源和目标的连接字符串。为此,请双击我们的会话任务。

双击 Informatica 会话任务将打开以下窗口。我们可以在“常规”选项卡中将会话任务重命名为一个更有意义的名称。请不要忘记为任务提供有效的描述。
如果此任务失败,则父级失败:请勾选此选项。如果此会话任务失败,它将导致工作流失败。

在“属性”选项卡中,我们有三个必须为关系数据库配置的常用属性。
$Source connection value:此属性将在 $Source 变量中存储关系源信息。因此,我们必须通过单击下面标记的箭头来配置源连接。

单击箭头后,将打开一个名为“连接浏览器”的新窗口。由于我们将 SQL 作为源数据库,因此我们选择 Microsoft SQL Server 作为选择类型。接下来,我们选择已创建的连接,即 AdventureWorksDW。
提示:如果您想提前创建一个新连接,可以使用“新建”按钮。

$Target connection value:此属性将在 $Target 变量中存储关系目标信息。因此,我们必须通过单击下面标记的箭头来配置目标连接。
对于此示例,我们将数据库用作目标,因此我们选择 Microsoft SQL Server 作为选择类型,并将目标作为目标数据库名称。

编写向后兼容的会话日志文件:如果您勾选此选项,Informatica 将以文本格式生成会话文件,以便我们稍后可以对其进行查看。否则,它将仅生成二进制格式。

在“配置对象”中,我们必须配置日志选项和错误处理。虽然我们有很多属性,但我们正在讨论并配置此窗口中最常用的属性。
- 为这些运行保存会话日志:请在此处指定整数。例如,如果您指定 3,则最后三个会话将被保存在我们的 Informatica 会话日志文件中。
- 错误停止:请指定会话要容忍的错误数量。例如,如果您指定 3,会话将运行直到遇到三个错误。

在“映射”选项卡中,我们必须配置源、目标连接和一些常用属性。首先,通过单击“源”文件夹中的 Dimproducts 源来配置源连接。

在“连接”中,选择关系类型旁边的箭头按钮以打开“关系连接浏览器”。此窗口有助于配置源连接(创建新连接、修改等)。
在这里,我们使用在上一步中创建的连接变量,即 $Source。

现在,让我们通过单击“目标”文件夹中的 Target_Dimproducts 来配置目标连接。
在“连接”中,选择关系类型旁边的箭头按钮以打开“关系连接浏览器”。在这里,我们使用在上一步中创建的连接变量,即 $Target。
提示:您也可以选择“使用对象”选项并选择数据库名称。

在“目标属性”中,我们必须配置两个常用属性,它们是:
目标加载类型:如果您的目标表有索引,则使用“普通”类型。否则,使用“批量”类型。请记住,批量类型比普通类型插入数据更快,但它不适用于有索引的表。

截断目标表选项:此选项通过勾选来截断目标表中的现有数据。它有助于我们在每次成功运行时插入新数据。
完成创建会话任务后,我们需要将工作流与会话任务链接。
