在本文中,我们将通过一个示例向您展示如何在Informatica中从文本文件加载数据到SQL Server。对于这个Informatica从文本文件加载数据到SQL Server的示例,我们将使用下面显示的文本文件数据(Employee表)。

目标表为File Destination。如您所见,这是一个空表。

Informatica中从文本文件加载数据到SQL Server
在我们开始配置Informatica从文本文件(或平面文件)加载数据到SQL Server之前。首先,通过提供在安装服务器时指定的管理控制台用户名和密码,连接到Informatica存储库服务。关于其他源和目标,请点击这里!
步骤1:为Informatica从文本文件加载数据到SQL Server创建源定义
请导航至源分析器来定义您的源。正如我们之前所说,我们将使用本地文件系统中的Employee表作为我们的源定义。所以,请导航至Source菜单并选择Import from File...(从文件导入...)。

选择Import from File...(从文件导入...)选项后,将打开一个名为Open Flat File(打开平面文件)的新窗口。请从您的本地文件系统中选择Employee.txt文件,然后点击Open(打开)按钮。我建议您参考平面文件源文章来理解后续步骤。

点击Open(打开)按钮后,将打开一个名为Flat File Import Wizard(平面文件导入向导)的新弹出窗口。
- 选择最能描述您数据的“文件类型”:请指定您的列值是如何分隔的(“分隔符”或“固定宽度”)选项。我们的文本由逗号分隔,因此我们选择“分隔符”选项。
- 从第一行导入字段名:“此选项允许我们从文本文件的第一行导入列名。如果您的文本文件包含作为第一行数据的列名,就像我们的示例文件一样,请勾选此选项。”

步骤2
- 在“分隔符”部分,请选择文本文件中使用的分隔符。我们的文本由逗号分隔,所以我们选择“逗号”。
- 在“文本限定符”部分,我们选择“无引号”,因为我们的平面文件没有任何引用。请根据您的需求进行更改。

在这里,我们可以编辑列名、数据类型、长度或精度、小数位数和宽度。通常我们不这样做,但如果您想这样做,可以。

从下面的屏幕截图中,您可以看到我们新创建的平面文件源。

步骤2:为Informatica从文本文件加载数据到SQL Server创建目标定义
请导航至目标设计器来定义目标。在此示例中,我们将使用现有表作为我们的目标定义。所以,转到Targets(目标)菜单并选择Import from Database...(从数据库导入...)选项。

请选择连接到数据库的ODBC连接。要创建一个新的,请参考ODBC连接文章。
从下面的屏幕截图中,您可以看到我们从SQLTest数据库中选择File Destination表。您可以参考使用源定义创建Informatica目标表来理解目标定义。

现在您可以看到带有必需列名的目标表。

步骤3:创建映射以从文本文件加载数据到SQL Server
要为Informatica从文本文件加载数据到SQL Server创建新映射,请导航至菜单栏中的Mappings(映射)菜单,然后选择Create...(创建...)选项。
这将打开“Mapping Name”(映射名称)窗口,用于为此映射(m_load_text_to_SQL)输入一个唯一的名称,然后点击OK(确定)按钮。

将Employee源定义从Flat File Sources(平面文件源)文件夹拖放到映射设计器。一旦拖动源,PowerCenter设计器将自动为您创建Source Qualifier Transformation(源限定符转换)。

接下来,将目标定义(File Destination)从Targets(目标)文件夹拖放到映射设计器。接下来,使用Autolink..(自动链接..)选项将源限定符连接到目标定义。
在关闭映射之前,让我们通过转到“映射”菜单栏并选择“验证”选项来保存和验证映射。

步骤4:创建工作流以从文本文件加载数据到SQL Server
在完成映射创建后,我们必须为它创建工作流。Power Center 工作流管理器提供两种创建工作流的方法。
在此示例中,我们将手动创建工作流。为此,请导航至Workflows(工作流)菜单并选择Create(创建)选项。
这将打开“Create Workflow”(创建工作流)窗口。请提供一个唯一的名称(wf_load_text_to_SQL),并保留默认设置。

一旦我们创建了Informatica从文本文件加载数据到SQL Server的工作流,下一步就是为我们的映射创建一个会话任务。
步骤4(a):创建一个会话以在Informatica中从平面文件加载数据到SQL Server
有两种类型的会话
对于此Informatica从平面文件加载数据到SQL Server的示例,我们创建了一个非可重用会话。要创建非可重用会话,请导航至Tasks(任务)菜单并选择Create(创建)选项。请为此会话提供一个唯一的名称(s_load_text_to_sql),如下图所示。

点击Create(创建)按钮后,将打开一个名为Mappings(映射)的新窗口。在此选择您要与此会话关联的映射,即m_load_text_to_sql。

请链接Start Task(开始任务)和Session Task(会话任务)。接下来,双击Session task(会话任务)将打开Edit Tasks(编辑任务)窗口。在Properties(属性)选项卡中,我们配置了$Target connection value(目标连接值)。此属性将关系源信息存储在$Target变量中。

因此,点击我们上面标记的箭头,并选择Test作为目标信息。

在mappings(映射)选项卡中,我们需要配置源和目标连接。首先,让我们通过点击FileDestination来设置目标连接。
在Connections(连接)中,点击Relational type(关系类型)旁边的箭头按钮,并使用我们之前创建的连接变量,即$Target。

您可以根据需要将Target Load type(目标加载类型)从Bulk(批量)更改为Normal(正常)。

现在,我们需要配置源连接。请点击Sources(源)文件夹中存在的SQ_Employee。

- Source Filetype(源文件类型):您是否使用Direct source(直接源)。Indirect(间接)表示源来自多个文本文件。
- Source File directory(源文件目录):它将使用默认目录,但您可以提供完整路径来更改目录。在这里,我们将文件目录更改为D:\File Examples\
- Source filename(源文件名):它会自动检测。如果没有,请指定带扩展名的文件名。

接下来,导航至Workflows(工作流)菜单并选择Validate(验证)选项来验证工作流。现在,让我通过在Workflows(工作流)菜单中选择Start Workflow(启动工作流)选项来启动工作流。

选择Start Workflow(启动工作流)选项后,Workflow monitor(工作流监视器)将打开以监视工作流。从下面的屏幕截图中,我们的Informatica从文本文件加载数据到SQL Server的工作流已成功执行,没有错误。

让我们打开SQL Server来检查我们是否已成功地将数据从源传输过来。
