本 OBE 教程将向您介绍和演示如何创建一个 Oracle Data Integrator (ODI) 接口,从而将 XML 文件导入名为 CLIENT 的数据库表中。该过程还包括将 ODI 约束添加到 CLIENT 模型。任何未通过此约束的记录都将加载到 E_CLIENT 表。
大约 1 个小时
本 OBE 教程包括下列主题:
| 概述 | ||
| 情景 | ||
| 验证前提条件 | ||
| 在 ODI 中新建项目 | ||
| 为 XML 文件插入新模型 | ||
| 为数据库表 CLIENT 插入模型 | ||
| 删除 CITY_CLIENT 的约束副本 | ||
| 在 CLIENT 数据存储上设置 ODI 约束 | ||
| 导入知识模块 | ||
| 创建用于加载 XML 文件的新接口 | ||
| 执行程序包并测试结果 | ||
| 查看接口执行的约束错误 | ||
| 总结 | ||
| 相关信息 | ||
将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
这些屏幕截图不能反映用户的具体环境。只是说明如何在 Oracle Data Integrator 中找到特定功能。
Oracle Data Integrator 能够在使用 ODI 约束或数据库约束加载到目标期间验证数据。使用流控制根据约束检查这些数据时,发现的任何错误都不会加载到目标,而是加载到由 ODI 创建并管理的错误表。该表的每一行代表一条未通过约束的记录,其中包括记录受拒原因的消息列。
该表的编辑可在 ODI Designer 内进行或由其他任何可编辑关系表的工具进行。然而,对最终用户或业务用户而言,这并非始终是一个便利的数据编辑方法。本示例将使用 ODI 接口。或者,您可以构建一个 ODI 过程通过约束加载 XML 文件。
Linda 是 Mydo Main Corporation 的数据库管理员。在 Mydo Main,Linda 负责执行关于机构内各种资源的数据库管理和集成任务。她需要构建一个 ODI 方案以通过约束将 XML 文件加载到关系表。约束将仅允许加载通过检查约束验证的数据。任何未通过约束的行都将加载到目标数据库上的一个表中。将执行此 ODI 方案,在 ODI 数据集成流程结束后,此 ODI 方案将回调至 BPEL Web 服务以通知加载期间出现的任何错误。
在启动任务前,确保您的系统环境满足以下要求:
软件要求
系统应该已安装以下产品:
系统应具有以下配置:
项目是用户创建的 ODI 对象的集合。其中应包含一个功能域。每个项目都有自己的知识模块、变量、标记和其他类型的对象。这些对象可通过复制在不同项目之间进行共享。您还可使用全局对象(如变量或序列)定义所有项目公用的参数。在集成流程中或需要使用 ODI 开发的集成项目中,使用项目表示功能域。
要在 ODI 中新建项目,执行以下步骤:
|
1. |
选择 Start > All Programs > Oracle > Oracle Data Integrator > Designer 打开 ODI Designer。
|
|
2. |
Oracle Data Integrator Login 对话框显示。从 Login Name 下拉列表中选择 Repo_designer。
|
| 3. |
默认用户名和口令分别是 SUPERVISOR 和 SUNOPSIS。单击 OK 登录。
|
| 4. |
在左下窗格中,单击 Projects 选项卡。
|
| 5. |
您会看到 Projects 窗格显示在左上角。右键单击并选择 Insert Project。
|
| 6. |
Project:New 窗口显示。输入 ODI_ER_HSP 作为名称。您会看到 Code 值也使用相同文本填充。然后,单击 OK 查看 Projects 窗格中填充的新项目。
|
要为 XML 源文件插入新模型,执行以下步骤:
|
1. |
在 ODI Designer 中,滚动至左下窗格并单击 Models 选项卡。
|
||||||||
|
2. |
Models 窗格显示在左上角。右键单击并选择 Insert Model。
|
||||||||
| 3. |
在 Model:New 窗口中,需要为新模型输入值。为此,提供以下参数,然后单击 Reverse 选项卡。
|
||||||||
| 4. |
在 Reverse 选项卡中,从 Context 下拉列表中选择 Global。然后,向下滚动并单击 Reverse。这将生成 XML 源。
|
||||||||
| 5. |
单击 Yes 确认。然后,单击 OK。
|
||||||||
| 6. |
在 Models 窗格中,您可能会注意到正在填充新数据存储。单击 + 符号展开并查看 SRC_GEO_DIM_XML 模型。
|
该任务需要一个关系逻辑模式。我们已在 Oracle XE 内建立了一个新模式 ODI_DATA。在拓扑管理器内也为 ODI_DATA 模式建立了一个新的物理模式。要为 CLIENT 表插入模型,执行以下步骤:
|
1. |
单击 Start > All Programs > Oracle > Oracle Data Integrator > Topology Manager 打开 ODI Topology Manager。
|
||||||||
|
2. |
Security Repository Connections 对话框显示。从 Login Name 下拉列表中选择 repository,然后单击 OK。
注:默认用户名和口令分别是 SUPERVISOR 和 SUNOPSIS。 |
||||||||
| 3. | 下滚至左下窗格,单击 The physical architecture... 选项卡。
|
||||||||
| 4. |
在左上角,单击 Physical Architecture 窗格下的 + 符号展开 Technologies > Oracle > Local_XE > Local_XE_ODI_STAGE。
|
||||||||
| 5. |
右键单击 Local_XE_ODI_STAGE 模式并选择 Edit。
|
||||||||
| 6. |
在 Physical Schema:Local_XE_ODI_STAGE 窗口中,在 Definition 选项卡中,将 Errors 的值从 E$_ 更改为 E$,然后单击 OK。
|
||||||||
| 7. |
在 ODI Designer 中,单击 Models 选项卡。
|
||||||||
| 8. |
在 Models 窗格中,右键单击并选择 Insert Model。
|
||||||||
| 9. |
在 Model:New 窗口中,提供以下值:
|
||||||||
| 10. |
单击 Reverse 选项卡。从 Context 下拉列表中选择 Global,然后单击 OK。
|
||||||||
| 11. |
在 Models 窗格中,单击 + 符号展开 RDBMS_TARGET 和 SRC_GEO_DIM_XML。
|
||||||||
| 12. |
在 SRC_GEO_DIM_XML 下,右键单击 CLIENT 并选择 Duplicate。
|
||||||||
| 13. |
单击 Yes。
|
||||||||
| 14. |
将新的重复的 Copy of CLIENT 从 SRC_GEO_DIM_XML 模型拖至 RDBMS_TARGET 模型。接下来,右键单击 RDBMS_Target 内的 Copy of CLIENT 数据存储并单击 Edit。
注:如果 Object Locking 对话框显示,单击 No。 |
||||||||
| 15. |
在 Data Store:Copy of Client 窗口中,将名称更改为 CLIENT 并单击 OK。
注:RDBMS_TARGET 上未创建物理表。在运行接口时,它将创建 CLIENT 物理表。 |
在复制 CLIENT 数据存储期间,针对 XML 文件的约束也会进行复制。要删除该约束,执行以下步骤:
|
1. |
在 ODI Designer 中的 Models 窗格下,单击 + 符号展开 RDBMS_TARGET > CLIENT > Constraints > CITY Copy of CITY_CLIENT。
|
|
2. |
右键单击 CITY Copy of CITY_CLIENT 并选择 Delete。单击 Yes 确认。
|
要在 CLIENT 数据存储上设置 ODI 约束,执行以下步骤:
|
1. |
在 ODI Designer 中,展开 RDBMS_TARGET > CLIENT > Constraints。然后右键单击 Constraints 并选择 Insert Condition。
|
||||||||||
|
2. |
在 Condition:New 窗口中,输入以下值,然后单击 OK:
|
创建接口之前,将加载和集成 XML 数据所需的 LKM 和 IKM 导入项目。为此,执行以下步骤:
|
1. |
在 ODI Designer 中,单击 Projects 选项卡。
|
||||||
|
2. |
单击 + 符号展开 ODI_ER_HSP > Knowledge Modules > Loading。
|
||||||
| 3. | 右键单击 Loading 并选择 Import Knowledge Modules。
|
||||||
| 4. |
Import Knowledge Modules...(XML FIle) 对话框显示。单击 File Import Directory 域中的 ... 按钮。浏览至 I:\ODI\oracledi\impexp 并单击 OK。
|
||||||
| 5. |
在 Select the file(s) to import 部分中,向下滚动并选择 LKM SQL to SQL,然后单击 OK。
|
||||||
| 6. |
同样,对于 Knowledge Modules 下的以下选项,选择突出显示的值。
最终展开的 Knowledge Modules 将如下所示:
|
要创建用于加载 XML 文件的新接口,执行以下步骤:
|
1. |
在 ODI Designer 中的 Projects 窗格内,单击 + 符号展开 ODI_ER_HSP > First Folder > Interfaces。
|
||||||||
|
2. |
右键单击 Interface 并选择 Insert Interface。
|
||||||||
| 3. |
Interface:New 对话框显示。在 Definition 选项卡上,输入以下值:
|
||||||||
| 4. |
单击 Diagram 选项卡。接下来,单击 Models 选项卡将源和目标拖至 ODI designer。将 CLIENT 数据存储从 SRC_GEO_DIM_XML 拖入 Source 容器。将 CLIENT 数据存储从 RDBMS_TARGET 拖入 Target 容器。
|
||||||||
| 5. |
单击 Yes。
|
||||||||
| 6. |
向下滚动并选中 Key 复选框。
|
||||||||
| 7. |
单击 Flow 选项卡查看执行流。
|
||||||||
| 8. |
在 Target (XML_GEO_DIM) 对话框中,从 RECYCLE_ERRORS 下拉列表中选择 Yes。
|
||||||||
| 9. |
从 CREATE_TARG_TABLE 下拉列表中选择 Yes。
|
||||||||
| 10. |
单击 Controls 选项卡并向下滚动单击 Apply。
注:如果 Object Locking 对话框显示,单击 No。 |
要执行该程序包,执行以下步骤:
|
1. |
单击 Execute。
|
|
2. |
在 Execution 对话框中,保留默认值并单击 OK,然后再次单击 OK。
|
|
3. |
选择 Start > All Programs > Oracle > Oracle Data Integrator > Operator 打开 ODI Operator。从 Login Name 下拉列表中选择 Repo_designer 并单击 OK。
注:默认用户名和口令分别是 SUPERVISOR 和 SUNOPSIS。 |
|
4. |
在左下窗格中,单击 Hierarchical Sessions 选项卡。在窗格中,向上滚动并单击 + 符号展开 Date > <执行日期> Steps > <加载步骤>。
您会看到加载执行的详细步骤。这表明 ODI 接口将一个 XML 文件导入数据库表 CLIENT 中。
|
要查看或约束接口执行的错误,执行以下步骤:
|
1. |
在 ODI Designer 中的 RDBMS_TARGET > CLIENT 下,右键单击选择 Control > Errors。
|
|
2. |
在 Error:CLIENT 对话框中查看值。目标模式上的 E_CLIENT 表现在可更新,在接口的后续执行中,E_CLIENT 表的行由 ODI 进行回收。如果行通过约束,则将加载至目标。单击 OK。
|
在本教程中,您学习了如何:
| 验证前提条件 | ||
| 在 ODI 中新建项目 | ||
| 为 XML 文件插入新模型 | ||
| 为数据库表 CLIENT 插入模型 | ||
| 删除 CITY_CLIENT 的约束副本 | ||
| 在 CLIENT 数据存储上设置 ODI 约束 | ||
| 导入知识模块 | ||
| 创建用于加载 XML 文件的新接口 | ||
| 执行程序包并测试结果 | ||
| 查看接口执行的约束错误 | ||
| 有关本 OBE 教程的问题,请在 OBE 论坛上发布查询。 |
将鼠标置于该图标上可以隐藏所有的屏幕截图。