本教程将向您介绍如何使用 Expert 将 Oracle Warehouse Builder (OWB) 介绍给新用户。通过指导(新手)设计人员或开发人员,Expert 使得复杂系统的设计变得更简单并可重复。Expert 提供了一个极其强大的方法来构建任务序列,该序列中的部分步骤可以实现自动化。
注:本教程中的屏幕截图可能与您的略有不同,这取决于您完成本 OBE 系列中其他教程的顺序。您可以忽略屏幕上出现的无关项。
大约 1 个小时
注: 本教程及其设置脚本仅支持 OWB 11g 第 1 版。该 Oracle 示例教程的早期版本可用于 OWB 10g 第 1 版和第 2 版。
本教程包括下列主题:
| 概述 | ||
| 前提条件 | ||
| 创建简单的 Expert | ||
| 执行 Expert 的两种方法 | ||
| 创建高级的 Expert | ||
| 总结 | ||
将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
本教程首先介绍如何创建简单的 expert。然后学习如何创建嵌套式 expert。您还将学习如何在 OWB 用户界面 (UI) 上和 OWB UI 外执行 expert。您将创建一个高级的 expert 并对各种属性设置进行研究。
Expert 内的一个常见要求是错误处理程序 — 例如,在捕获到用户单击某个对话框中的“Cancel”按钮后,正常退出并显示一条消息。
开始本教程之前,您应该:
| 1. |
| 创建 ERROR_HANDLER Expert | |
| 验证 Expert | |
| 执行 Expert |
在本节中,您将创建错误处理程序 expert,它作为独立的程序执行,并将在本教程的其他各种 expert 中重用。
1. |
假定您以 OWB 用户身份登录,在 Design Center 中展开 HANDSON 项目,单击 Experts 节点。
|
2. |
现在,在 HANDSON 项目中创建一个私有 expert 模块。 右键单击 Experts 节点并从快捷菜单中选择 New。
|
3. |
在 Create Expert Module 对话框中,输入 expert_module(OWB 将自动转换为大写形式)作为名称。在 Description 域中输入 The EXPERT_MODULE expert module contains three experts, ERROR_HANDLER, NESTED_EXPERT and ADVANCED_EXPERT。确保选中了 Proceed to Expert Wizard 复选框。单击 OK。
|
4. |
在 Create Expert 对话框中,输入 error_handler(不区分大小写。OWB 将自动转换为大写形式)作为名称。在 Description 域中输入 An Expert to handle errors。单击 OK。
此时 Expert Editor 启动。Expert Editor 画布默认情况下包含两个任务,START_TASK 和 END_TASK。
|
5. |
在画布上添加一个自定义对话框任务。自定义对话框有助于获取用户的某些信息。您还可以使用此对话框向用户提供一些指导。 在 Expert Editor 窗口中,将一个 Custom Dialog 从 Palette(左下方面板)拖放到 Expert(画布)上。
|
6. |
现在,连接这些任务以指定它们的执行顺序。 从 START_TASK 到 CUSTOM_DIALOG_TASK 绘制一条转换线。(单击 START_TASK 的中心。按下鼠标左键,从 START_TASK 引出一条直线,止于 CUSTOM_DIALOG_TASK 的中心。松开鼠标左键)
从 CUSTOM_DIALOG_TASK 到 END_TASK 绘制一条转换线。您的画布必须如下所示:
|
7. |
根据需要定制此自定义对话框任务。您需要指定要在自定义对话框中显示的标题和消息。 在画布上单击 CUSTOM_DIALOG_TASK 自定义对话框任务。
|
8. |
单击 CUSTOM_DIALOG_TASK 任务后,单击 Task Editor 面板中的 Dialog Builder 选项卡页面。
|
9. |
在 Dialog Builder 选项卡页面上,在 Title 域中输入 Error Handler 作为自定义对话框任务的标题。 记下 OK 和 Cancel 这两个按钮,它们出现在自定义对话框中。
|
10. |
为了指定向用户显示的信息,创建一个标签。单击位于 Task Editor 面板右下角的 Add 按钮。 单击 Add 按钮,在 Task Editor 面板中为所选的自定义对话框任务添加一个新行。
|
11. |
在 Task Editor 面板的 Content 域中,为新创建的行输入 Hello from the Handler。
要提前预览此 expert 运行时该对话框的外观,单击 Show Preview 复选框。该对话框的预览显示在 Custom Dialog Preview 面板内。注: 有时,Custom Dialog Preview 面板可能出现在 Task Editor 面板的右侧。
|
12. |
取消选中 Show Preview 复选框。
|
13. |
在 Expert Editor 中,单击 Save All 工具栏图标保存您的工作。在 Warehouse Builder Warning 对话框中,单击 Yes。 定时保存工作是一个好习惯。
|
验证 Expert 有助于确保不存在语法错误,并且您可以在执行前纠正任何错误。验证是一个可选步骤。
1. |
在 Expert Editor 中,从 Expert 菜单中选择 Validate。确保没有错误。您可以忽略有关未指定目标和说明的警告。
|
2. |
验证结果显示在 Compilation Results 面板中。您可以忽略这些警告。 在本示例中,您收到一个警告。您可以忽略任何有关未指定目标和说明的警告。
注:如果收到任何错误,纠正错误并重复第 1 步。 |
创建并验证一个没有错误的 expert 之后,您可以运行该 expert 了。现在,运行该 expert 以验证其是否能正常工作。
| 1. | 单击 Expert Editor 窗口中工具栏中的 Start 按钮。
当您运行一个 expert 时,会出现 Expert Warning 对话框,单击 Yes 继续执行该 expert。
|
| 2. | 该 Expert 运行时,屏幕显示内容如下所示。 您指定的标题显示在自定义对话框的标题栏中,您指定的消息显示为主对话框文本,还有两个按钮。 单击 Error Handler 对话框中的 OK。
|
| 3. | Expert Information Dialog 出现。每当一个 expert 成功完成时,此对话框都会显示。单击 Expert Information Dialog 中的 OK 返回到 Design Center。
|
您可以创建多个 expert 以执行相对简单的任务,还可以使用它们作为构建复杂 expert 的构建。当您将某个 expert 添加到画布上时,它被称作嵌套式 expert。
| 创建 NESTED_EXPERT Expert | ||
| 为转换添加条件 | ||
| 在 Expert 之间传递值 | ||
在本主题中,首先您将创建一个简单的 expert 以在自定义对话框内显示 ORACLE 徽标。当您单击徽标时,网站在浏览器窗口中打开。然后,编辑 expert 以包括您先前创建的 ERROR_HANDLER expert。这是一个有关如何创建嵌套式 Expert 的示例。完成本主题后,您将体会到编写一个 expert 一次然后不同 expert 中重用它的好处。
| 1. | 在 Design Center 的 Project Explorer 中,展开 HANDSON 项目。右键单击 EXPERT_MODULE 节点并从快捷菜单中选择 New。
|
| 2. | 在 Create Expert 对话框中,输入 NESTED_EXPERT (输入时无需考虑大小写,OWB 将自动转换为大写形式)作为 expert 的名称。单击 OK。
|
| 3. | 在 Expert Editor 窗口中,将一个 Custom Dialog 从 Palette(左下方面板)拖放到 Expert 面板(画布)上。将其放在 START_TASK 和 END_TASK 中间。
|
| 4. | 在画布上单击(如还未选择)CUSTOM_DIALOG_TASK 自定义对话框任务。
|
| 5. | 在 Task Editor 面板中,单击 Dialog Builder 选项卡页面。在 Title 域中,输入 Intro 作为自定义对话框任务的标题。 指定自定义对话框的宽度和高度。取消选中 Auto Size 选项。在 Width 域中输入 290,在 Height 域中输入 170。
|
| 6. | 单击位于 Task Editor 面板右下角的 Add 按钮。
|
| 7. | 在新行中提供以下信息: 在 Type 字段中,从下拉列表中选择 Hyperlink(将一个超链接类型的字段添加到自定义对话框中) 在 Message 字段中输入 在 Content 字段中输入 http://www.oracle.com
|
| 8. | 单击位于 Task Editor 面板右下角的 Add 按钮。 在新创建的行的 Content 字段中输入以下文本。 Hit OK to end 按 Enter 键。(如果您没有按 Enter 键,您的文本将不会被保存。) 注:如果您没有按 Enter 键就进行下一步,您键入的内容将丢失。
检查您在 Content 字段中输入的文本是否依然存在。
|
| 9. | 添加转换线以连接这些任务,从而指定这些任务的执行顺序。 按屏幕截图所示连接任务:
|
| 10. | 单击工具栏中的 Validate 图标。执行 expert 前对其进行验证是一个可选步骤。您可以忽略任何有关未指定目标和说明的警告。
|
| 11. | 保存您的工作。从 Expert 菜单中选择 Save All。在 Warehouse Builder Warning 对话框中,单击 Yes。
|
| 12. | 从 Expert 菜单中选择 Close。您将返回 Design Center。 |
| 13. | 运行 expert 以查看您的工作结果。在 Project Explorer 中,右键单击 NESTED_EXPERT 节点并从快捷菜单中选择 Start。
|
| 14. | 单击 ORACLE 徽标,将启动一个浏览器窗口,其中打开 Oracle.com 网页。
关闭浏览器窗口。
|
| 15. | 单击 Intro 对话框中的 OK。
单击 Expert Information 对话框中的 OK 返回到 Design Center。
|
| 16. | 现在,将 ERROR_HANDLER expert 添加到 NESTED_EXPERT expert。 在 Design Center 的 Project Explorer 中展开 HANDSON 项目。展开 Experts > EXPERT_MODULE。双击 NESTED_EXPERT 节点。Expert Editor 启动。
|
| 17. | 在 Expert Editor 的 Explorer 窗口(位于左上角)中,单击 Available Objects 选项卡. 展开位于 Private Experts 节点下的 EXPERT_MODULE。将 ERROR_HANDLER expert 拖放到画布上。按下面的屏幕截图所示对其进行放置。
|
| 18. | 从 CUSTOM_DIALOG_TASK 到 ERROR_HANDLER、从 ERROR_HANDLER 到 END_TASK 各绘制一条转换线。
|
如果您希望下个任务的执行是有条件的,则为两个任务之间的转换指定条件。例如,如果用户单击 NESTED_EXPERT 弹出对话框中的 CANCEL 按钮,我们希望运行 ERROR_HANDLER expert。要为转换指定条件,执行以下步骤:
| 1. | 单击从 CUSTOM_DIALOG_TASK 开始到 ERROR_HANDLER 的转换线。
在 Object Details 面板中,单击 Condition 属性旁的域,然后单击 : 按钮 |
| 2. | 在 Transition Condition Editor 中,从 Enumerated Conditions 下拉列表中选择 CANCEL,然后单击 OK。
|
| 3. | 单击从 CUSTOM_DIALOG_TASK 开始到 END_TASK 的转换线。在 Object Details 面板中,单击 Condition 属性旁的域。单击 : 按钮 在 Transition Condition Editor 中,从 Enumerated Conditions 下拉列表中选择 SUCCESS,然后单击 OK。
|
| 4. | 在 Expert 菜单中,单击 Validate。确保没有错误。您可以忽略有关未指定目标和说明的警告。 在 Expert 菜单中,单击 Start。
单击 Expert Warning 对话框中的 Yes。 |
| 5. | 在 Intro 对话框中,单击 Cancel。
随即显示您在 ERROR_HANDLER expert 中创建的 Error Handler 对话框。 |
| 6. | 单击 Error Handler 对话框中的 OK。
单击 Expert Information Dialog 中的 OK。 |
通常,对于错误处理程序,您希望将信息传入一个嵌套式 expert 中和/或从其中传出。在本主题中,您将学习如何在 expert 之间传递值。
您首先需要传递变量和参数,它们用于在 expert 间传递值。执行以下步骤:
| 1. | 在 Design Center 中展开 HANDSON 项目。展开 Experts > EXPERT_MODULE。双击 ERROR_HANDLER 节点。Expert Editor 启动。
|
| 2. | 您现在将学习如何创建变量。在 Expert Editor 的 Explorer 面板(左上角)中,单击 Selected Objects 选项卡(如果未选择)。单击 Variables 节点,然后单击 Create 按钮(该按钮上方有一个绿色的加号,位于 ERROR_HANDLER 节点左侧,如以下屏幕截图所示)。
创建了一个名为 VARIABLE 的变量。 |
| 3. | 在 Object Details 面板中,单击 Name 属性旁边的域。将 VARIABLE 重命名为 ERROR_TO_DISPLAY,按 Enter 键。
|
| 4. | 您现在将学习如何创建参数。在 Expert Editor 的 Explorer 面板(左上角)中,单击 Parameters 节点,然后单击 Create 按钮。
|
| 5. | 在 Object Details 面板中,单击 Name 属性右侧。将 PARAM 重命名为 INPUT_ERROR_MESSAGE,按 Enter 键。确保在 Direction 域中选择了 IN。
|
| 6. | 重复第 4 步创建另一参数。 在 Object Details 面板中,单击 Name 属性右侧的域。将 PARAM_1 重命名为 OUTPUT_ERROR_MESSAGE,按 Enter 键。单击 Direction 属性右侧的域。从下拉列表中选择 OUT。
|
| 7. | 您现在将学习如何将参数绑定到变量。 在 Explorer 面板中,展开 Parameters 节点,然后单击 INPUT_ERROR_MESSAGE。在 Object Details 面板中,单击 Binding to 属性右侧的域。从下拉列表中选择 ERROR_TO_DISPLAY 变量。
|
| 8. | 在 Explorer 面板中,选择 OUTPUT_ERROR_MESSAGE。在 Object Details 面板中,单击 Binding from 属性右侧的域。从下拉列表中选择 ERROR_TO_DISPLAY 变量。
|
| 9. | 在画布上单击 CUSTOM_DIALOG_TASK。在 Task Editor 面板中,单击 Dialog Builder 选项卡页面。在 Content 字段中,键入 $ERROR_TO_DISPLAY(覆盖旧值 Hello from the Error Handler)。按 Enter 键。
|
| 10. | 保持画布中选中 CUSTOM_DIALOG_TASK,单击 Post-processing 选项卡页面。输入以下代码: if {$GUI_RETURN_VALUE(DLG1) == "Cancel"} { 警告:Tcl 脚本语言区分大小写并对空格敏感。由于空格问题,这段代码编译失败或者其执行可能失败。
请注意以下问题: 1. 这段代码使用 tcl 脚本语言。
|
| 11. | 保存您的工作并关闭 ERROR_HANDLER expert 编辑器。 |
| 12. | 您已经修改了 ERROR_HANDLER expert。NESTED_EXPERT 必须包括这个更新的 ERROR_HANDLER expert。 在 Design Center 中展开 HANDSON 项目。展开 Experts > EXPERT_MODULE。双击 NESTED_EXPERT 节点。Expert Editor 启动。 |
| 13. | 单击画布上的 ERROR_HANDLER expert。删除 ERROR_HANDLER expert。单击 Delete Confirmation 对话框中的 OK。
|
| 14. | 在 Expert Editor 的 Explorer 面板(位于左上角)中,单击 Available Objects 选项卡.展开位于 Private Experts 节点下的 EXPERT_MODULE。将 ERROR_HANDLER expert 拖放到画布上。
|
| 15. | 从 CUSTOM_DIALOG_TASK 到 ERROR_HANDLER 绘制一条转换线。
|
| 16. | 单击从 CUSTOM_DIALOG_TASK 开始到 ERROR_HANDLER 的转换线。在 Object Details 面板中,单击 Condition 属性旁的域。单击 :按钮 在 Transition Condition Editor 中,从 Enumerated Conditions 下拉列表中选择 CANCEL,然后单击 OK。
|
| 17. | 在 Expert Editor 窗口中,将一个 Custom Dialog 从 Palette(左下方面板)拖放到画布上。将它放在 ERROR_HANDLER 的右侧。将您的设计布局与屏幕截图进行比较,必要时进行重新安排。
|
| 18. | 连接以下任务: 从 ERROR_HANDLER 到 CUSTOM_DIALOG_TASK_1 绘制一条转换线。 从 CUSTOM_DIALOG_TASK_1 到 END_TASK 绘制一条转换线。
|
| 19. | 在 Expert Editor 的 Explorer 面板(位于左上角)中,单击 Selected Objects 选项卡.单击 Variables 节点,然后单击 Create 按钮。创建了一个名为 VARIABLE 的变量。
|
| 20. | 在 Object Details 面板中,单击 Name 属性旁的域。将 VARIABLE 重命名为 MESSAGE_BUCKET,按 Enter 键。
|
| 21. | 在选择了 Selected Object 选项卡的 Explorer 面板中,展开 Tasks > ERROR_HANDLER。单击 INPUT_ERROR_MESSAGE 节点。 在 Object Details 面板中,单击 Binding from 属性旁的域。从下拉列表中选择 MESSAGE_BUCKET。
|
| 22. | 单击 OUTPUT_ERROR_MESSAGE 节点。在 Object Details 面板中,单击 Binding to 属性旁的域。从下拉列表中选择 MESSAGE_BUCKET。
|
| 23. | 在 Expert Editor 中,单击画布上的 CUSTOM_DIALOG_TASK_1。在 Task Editor 面板中,单击 Dialog Builder 选项卡页面。
|
| 24. | 现在,指定要在对话框中显示的信息消息。单击位于 Task Editor 面板右下角的 Add 按钮。单击 Add 按钮,在 Task Editor 面板中为所选的自定义对话框任务添加一个新行。
|
| 25. | 在 Task Editor 面板的 Content 域中,为新创建的行输入 $MESSAGE_BUCKET,然后按 ENTER 键。
|
| 26. | 在 Options 域中,您将看到两个值:OK 和 Cancel。删除逗号 (,) 和单词 Cancel,仅保留值 OK。该操作从自定义对话框中删除了 Cancel 按钮。
|
| 27. | 在画布上单击 CUSTOM_DIALOG_TASK 任务。在 Task Editor 面板中,单击 Post-processing 选项卡页面。输入以下代码: if {$GUI_RETURN_VALUE(DLG1) == "Cancel"} { 警告:Tcl 脚本语言区分大小写并对空格敏感。由于空格问题,这段代码编译失败或者其执行可能失败。在上述代码中,您必须在 IF 语句中的 == 两侧和 } { 花括号中间留空格。
|
| 28. | 保存您的工作。 验证您的工作。在 Expert Editor 中,从 Expert 菜单中选择 Validate。确保没有错误。您可以忽略有关未指定目标和说明的警告。
关闭 Expert Editor。 |
| 29. | 在 Project Explorer 中,右键单击 NESTED_EXPERT 并选择 Start。
|
| 30. | 弹出 Intro 对话框。单击 Intro 对话框中的 Cancel。
弹出 Error Handler 对话框。 |
| 31. | 单击 Error Handler 对话框中的 Cancel。
弹出一个无标题对话框。
|
| 32. | 单击无标题对话框中的 OK。
单击 Expert Information Dialog 中的 OK。您将返回 Design Center。 |
到目前为止,您已经使用默认的执行用户界面 (UI) 设置在 Warehouse Builder 内部运行了多个 Expert。一些 Expert 编写为作为“独立的”应用程序来运行(即,用户看不到 Design Center)。然而,其他 Expert 编写为扩展,即,为了增加 Design Center 中可用的功能。一些属性和命令可以控制 expert 的外观,从而影响终端用户的感受。在本主题中,您将完成以下任务:
| 在 Oracle Warehouse Builder 外部执行 Expert | ||
| 在 Oracle Warehouse Builder 内部执行 Expert | ||
在 Oracle Warehouse Builder 外部执行 Expert
要在 Warehouse Builder 外部执行 expert,执行以下步骤:
| 1. | 在本主题中,您将使用现有的 expert。在记事本或任何文本编辑器中,输入以下内容: OMBCONNECT owb/owb@localhost:1521:orcl USE WORKSPACE
'<workspace_owner> .<workspace_name>' 警告:Tcl 脚本语言区分大小写并对空格敏感。输入此段代码时要注意。确保在上述代码相应的地方使用了单引号 '。如果您严格遵守了本 OBE 教程第 1 课中的命名,工作区所有者为 owb,工作区名称为 MY_WORKSPACE
|
| 2. | 将该文件保存到 c:\temp\startdialog.tcl。 注:将该文件保存为 startdialog.tcl 而非 startdialog.tcl.txt。在 Save As 对话框中,从 Save As 类型下拉列表中选择 All Files。
|
| 3. | 在记事本(任何文本编辑器)中输入以下内容,用您的实际 OWB 主目录替代 c: 注:在以 call OMBPlus.bat c:/temp/startdialog.tcl.................
将此文件保存为 c:\temp\runexpert.bat。 |
| 4. | 在 Windows 中,单击开始菜单,然后单击运行。在 Open 域中,键入 c:\temp\runexpert.bat。(您可以选择创建一个桌面快捷方式来运行此批处理文件) 最小化命令窗口,继续运行此 expert。按您在本课程前面做的那样对弹出消息作出响应。该 expert 完成,所有窗口自动关闭。
注:该执行方法不要求用户熟悉 OWB,但仍然能够享受 expert 的好处。 |
您现在要学习如何在 Warehouse Builder 内部运行 expert。
| 1. | 在 Design Center 中,展开 HANDSON > Experts > EXPERT_MODULE。双击 NESTED_EXPERT。Expert Editor 启动。
|
| 2. | 在 Expert Editor 中,单击 Explorer 面板上的 NESTED_EXPERT。您在 Object Details 面板中设置属性。
|
| 3. | 在 Execution UI Settings 部分中,您会看到用于控制 Expert 执行(从 OWB UI 内部)方式的各个属性。 取消选中以下属性: Show Progress Graph Finish Dialog on Completion Show Task Assistant Close Assistant on Completion
|
| 4. | 更改完属性设置后,运行该 expert。单击 Expert Editor 工具栏中的 Start。单击 Expert Warning 对话框中的 Yes。 注:Design Center 将消失,仅显示自定义对话框。单击 Intro 对话框中的 OK。 |
| 5. | 在 Design Center 中,展开 HANDSON > Experts > EXPERT_MODULE。双击 NESTED_EXPERT。Expert Editor 启动。 |
| 6. | 在 Object Details 面板的 Execution UI Settings 部分中,取消选中 Run Standalone 属性。
|
| 7. | 更改完属性设置后,运行该 expert。单击 Expert Editor 工具栏中的 Start。单击 Expert Warning 对话框中的 Yes。 注:Expert 现在执行,Design Center 位于后台。单击 Intro 对话框中的 OK。该 Expert 结束,但 Design Center 仍然处于打开状态。 |
在本主题中,您将完成以下任务:
| 将 Expert 附加到鼠标右键单击菜单上 | ||
| 将 Expert 附加到 Design Center 中的一个菜单上 | ||
在本主题中,您将部分地创建一个高级的 expert,它用于自动执行一个常见任务。该 expert 将允许您自动创建一些映射,这些映射可以添加您在提示列表中指定的源表,您无需手动为每个源表创建一个映射。
您将学习如何将 expert 附加到鼠标右键菜单(右键单击某个对象时出现的快捷菜单)。在本示例中,当您右键单击 OE 模块中的任何表时,ADVANCED_EXPERT expert 都将作为一个菜单项显示。
该 Expert 需要知道用户右键单击的是哪个表。使用变量来存储该信息。
| 1. | 在 Design Center 中,展开 HANDSON 项目。右键单击 EXPERT_MODULE 节点并从快捷菜单中选择 New。
|
| 2. | 在 Create Expert 对话框中,输入 ADVANCED_EXPERT 作为 expert 名。单击 OK。
|
| 3. | 在 Expert Editor 窗口中,将一个 Custom Dialog 从 Palette(左下方面板)拖放到 Expert 面板(画布)上。
|
| 4. | 将一个 OMB 任务从 Palette(左下方面板)拖放到画布上。
|
| 5. | 按以下屏幕截图所示连接任务:
|
| 6. | 有一些变量可以告诉 Expert 它从哪里开始运行。为了进行调试,将显示这些变量的值。 选中 CUSTOM_DIALOG_TASK 任务后,单击 Task Editor 面板中的 Dialog Builder 选项卡页面。
|
| 7. | 在 Title 域中,输入 Debug 作为标题。 单击位于 Task Editor 面板右下角的 Add 按钮,添加一个标签。添加四个标签(单击 Add 按钮四次),在 Content 字段中输入以下值(每个值都在一个新行中): Initial Launch Context = $EXP_LAUNCH_CONTEXT Initial Launch Context Type = $EXP_LAUNCH_CONTEXT_TYPE Initial Operation = $EXP_OPERATION Initial Type to Create = $EXP_TYPE_TO_CREATE 注:变量名区分大小写且必须为大写。
|
| 8. | 单击 Explorer 面板中的 ADVANCED_EXPERT 节点。在 Object Details 面板中,取消选中 Execution UI Settings 部分的所有属性。
|
| 9. | 在画布上,单击 OMB 任务。在 Task Editor 面板中,单击 Main 选项卡页面。输入以下代码: puts Hello
注:现在,您要编写一条简单的调试消息以确保任务是有效的。您将在以后编写有意义的代码。 |
| 10. | 在 Expert Editor 中,单击 Expert 菜单中的 Save All 保存您的工作。在 Warehouse Builder Warning 对话框中,单击 Yes。 要验证该 expert,从 Expert 菜单中选择 Validate。确保没有错误。您可以忽略有关未指定目标和说明的警告。 要关闭 Expert Editor,从 Expert 菜单中选择 Close。 |
| 11. | 在 Design Center 中,展开 HANDSON 项目。展开 Databases > Oracle > OE >Tables。
|
| 12. | 右键单击 OE 模块中的任意表,然后选择 Add/Remove Experts Here。
|
| 13. | 在 Add/Remove Experts 对话框中,展开 HANDSON > EXPERT_MODULE。单击 ADVANCED_EXPERT 左侧的复选框,然后单击 OK。
保存您的工作。在 Design Center 中,从 Design 菜单中选择 Save All。单击 Warehouse Builder Warning 对话框的 Yes。 |
| 14. | 现在,右键单击 OE 模块下的任意表。您将看到 ADVANCED_EXPERT 显示为一个菜单项。单击 ADVANCED_EXPERT。
Debug 自定义对话框出现,同时显示变量值。单击 Debug 对话框中的 OK。
注:这些变量捕获所选对象的完整路径、类型和操作。在本示例中,Expert 附加到了对象(表)的实例上。如果 Expert 附加到 Tables 节点自身上,则已经设置了 Initial Type to Create。
|
除了将 Expert 附加到鼠标右键菜单上,还可将它附加到 Design Center 的 Tools 菜单上。将一个 expert 附加到 Design Center 的一个菜单上时,该 expert 必须是一个公共 expert。现在,创建一个公共 expert。目前为止,您创建的所有 expert 都是私有 expert。
| 1. | 您需要创建一个简单的公共 expert,以便学习如何将一个 expert 附加到 Design Center 的菜单上。 在 Design Center 中,右键单击 Global Explorer 面板中的 Public Experts 节点。从快捷菜单中选择 New。
|
| 2. | 在 Create Expert Module 对话框中键入 test(不区分大小写,OWB 会自动将其转化为大写)作为 Name,在 Description 域中输入 The TEST expert module is a public expert module。确保单击了 Proceed to Expert Wizard 复选框,单击 OK。
|
| 3. | 在 Create Expert 对话框中,键入 EXPERT1(不区分大小写,OWB 会自动将其转化为大写)作为 Name,然后单击 OK。
|
| 4. | 在 Expert Editor 窗口中,将一个 Custom Dialog 从 Palette(左下方面板)拖放到 Expert 面板(画布)上。
|
| 5. | 在画布上单击 CUSTOM_DIALOG_TASK 任务。在 Task Editor 面板中,单击 Dialog Builder 选项卡页面。在 Dialog Builder 选项卡页面的 Title 域中,输入 Public Expert。
|
| 6. | 按如下所示连接任务:
|
| 7. | 保存您的工作并关闭 Expert Editor。 |
| 8. | 在 Design Center 中,从 Tools 菜单中选择 Add/Remove Experts Here。
|
| 9. | 在 Add/Remove Experts 对话框中,展开 PUBLIC_PROJECT > TEST。单击 EXPERT1 左侧的复选框,然后单击 OK。
|
| 10. | 现在,在 Design Center 中单击 Tools 菜单,您将看到 EXPERT1 显示为一个菜单项。
在本教程中,我们不再继续介绍有关为 expert 指定脚本的详细信息。如果您完成了此 expert 的定义,它会为您节省不少时间。您只需找到您的表并单击右键,而不必创建映射并添加表。保存您的工作并关闭 Design Center。 |
在本教程中,您学习了如何:
![]() |
创建一个简单的 Error Handler expert |
|
![]() |
创建嵌套式 Expert |
|
![]() |
从 OWB 内部和外部执行 expert |
|
将鼠标置于该图标上可以隐藏所有的屏幕截图。