本部分介绍如何使用适配器服务 BizTalk 项目外接程序、添加适配器元数据向导和添加适配器服务参考 Visual Studio 插件。 使用这些 Visual Studio 组件,可以:
- 浏览要检索元数据的操作。 
- 搜索要检索元数据的操作。 
- 使用“使用适配器服务加载项”或“添加适配器元数据向导”时,将所选操作的消息架构和端口绑定配置文件添加到 BizTalk 服务器项目。 
- 使用添加适配器服务引用插件时,将 WCF 客户端类或 WCF 服务协定 (接口) 添加到非 BizTalk 编程项目,以及配置文件 (app.config) 。 - 必须先连接到 Oracle 数据库,然后才能浏览、搜索或检索目标操作的元数据。 若要了解如何在使用适配器服务加载项、添加适配器元数据向导或添加适配器服务引用插件时连接到 Oracle 数据库,请参阅 在 Visual Studio 中连接到 Oracle 数据库。 
注意
- 使用适配器服务 BizTalk 项目外接程序、添加适配器元数据向导和添加适配器服务参考 Visual Studio 插件在浏览和搜索操作时呈现的界面基本相同,因此所有这三个组件都涵盖在同一主题中。
- 可以选择类别节点以返回该类别子树中的所有操作,例如,整个表或架构 (甚至架构) 中的所有表。
 
浏览操作
使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用插件”浏览元数据时,Oracle 数据库适配器会显示:
- 可以对表、视图、存储过程、函数和包执行的操作。 
- SQLEXECUTE 操作,使适配器客户端能够执行任何泛型数据操作语言 (DML) 或 Oracle 数据库中的存储过程。 
- POLLINGSTMT 和通知操作,使适配器客户端能够从 Oracle 数据库获取入站数据。 它还公开作为轮询操作公开的相应架构下的存储过程、函数和包的列表。 
注意
- 通过使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用”插件,可以使用 Windows 界面浏览类别和操作节点。
- SQLEXECUTE、POLLINGSTMT 和 Notification 操作直接显示在类别树的根节点下。 必须选择根节点才能查看这些出站和入站操作。
 
有关浏览元数据的详细信息,请参阅 在 Visual Studio 中获取 Oracle 数据库操作的元数据
执行以下步骤,使用“添加适配器服务引用插件”或“使用适配器服务加载项”浏览为 Oracle 数据库中不同项目公开的操作。
浏览 Oracle 数据库中的元数据
- 使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用”插件连接到 Oracle 数据库。 有关说明,请参阅 在 Visual Studio 中连接到 Oracle 数据库 。 
- 从 “选择协定类型” 下拉列表中,根据是使用适配器执行入站操作还是出站操作,选择协定类型。 
- “ 选择类别 ”框列出了 Oracle 数据库中的架构。 单击架构可在“ 可用类别和操作 ”框中查看架构可访问的表、过程、函数、包和视图。 或者,可以通过展开架构节点来查看分类。 - 提示 - 当焦点位于“选择类别”框中的树视图中时,可以通过键入 中的项目名称,直接转到树中的“直接”类别节点或子 类别 节点。 例如,若要跳转到 SCOTT 节点,请将焦点放在根节点上,然后键入 - SCOTT。- 下图显示了使用适配器服务加载项。 选择 SCOTT 架构节点,“ 可用类别和操作 ”框中列出了 SCOTT 节点下可用的常规类别节点。   
- 单击“ 表” 节点,在“ 可用类别和操作 ”框中查看 SCOTT 的表。 或者,可以通过展开“表”节点来查看 表 列表。 
- 单击表名称以查看表上支持的操作。 - 下图显示了使用适配器服务加载项。 SCOTT 架构中可用的表列在 “选择类别” 框中。 可用于 EMP 表的操作在 “可用类别和操作 ”框中列出。  中的表 中的表
- 单击“ 过程 ”节点,在“ 可用类别和操作 ”框中列出架构 SCOTT 可访问的过程。 - 下图显示了使用适配器服务加载项。 SCOTT 架构中可用的常规类别节点在 “选择类别” 框中列出。 SCOTT 架构中可用的过程列在 “可用类别和操作 ”框中。   
- 单击“ 函数 ”节点,在“ 可用类别和操作 ”框中查看架构 SCOTT 的函数。 - 下图显示了使用适配器服务加载项。 SCOTT 架构中可用的常规类别节点在 “选择类别” 框中列出。 SCOTT 架构中可用的函数列在 “可用类别和操作 ”框中。   
- 单击“ 包” 节点,在“ 可用类别和操作 ”框中查看架构 SCOTT 的包。 或者,可以通过展开“包”节点来查看 包 列表。 
- 单击包名称以查看包上支持的操作。 - 下图显示了使用适配器服务加载项,其中列出了针对 SCOTT 架构的特定包的包和支持的操作。   
- 单击“ 视图 ”节点,在“ 可用类别和操作 ”框中查看架构 SCOTT 的视图。 或者,可以通过展开“视图”节点来查看 视图 列表。 
- 单击视图名称以查看视图上支持的操作。 - 下图显示了“使用适配器服务加载项”,其中列出了针对 SCOTT 架构的特定视图的视图和支持的操作。  中的视图 中的视图- 注意 - 使用 WCF 通道和服务模型,适配器客户端可以指定批处理大小以执行元数据的批量检索。 
搜索操作
使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用插件”搜索 Oracle 元数据时,Oracle 数据库适配器:
- 支持搜索表达式中的通配符和转义字符。 
- 立即启用执行搜索操作的节点下的搜索。 例如,若要搜索函数,必须在 \[Schema]\Functions 下进行搜索。 不支持多级搜索。 - 下表列出了可用于搜索的特殊字符及其解释由 Oracle 数据库适配器。 
| 特殊字符 | 解释 | 
|---|---|
| _(下划线) | 完全匹配一个字符 例如,A_匹配 AB、AC、AD。 | 
| (百分比) | 与零个或多个字符匹配。 例如,A% 与 A、AB、ABC 匹配。 | 
| \ (转义) | 转义 % 和 _ 的特殊含义 例如,A\_B匹配A_B。 | 
注意
转义字符是放在通配符之前以指示通配符应解释为常规字符而不是通配符的字符。
有关详细信息,请参阅 在 Visual Studio 中获取 Oracle 数据库操作的元数据
在 Oracle 数据库中搜索元数据
- 使用“使用适配器服务加载项”、“添加适配器元数据向导”或“添加适配器服务引用”插件连接到 Oracle 数据库。 有关说明,请参阅 在 Visual Studio 中连接到 Oracle 数据库 。 
- 在“使用适配器服务加载项 ”的“选择协定类型” 下拉列表中,根据是使用适配器搜索入站操作还是出站操作,选择协定类型。 
- 在 “选择类别 ”框中,单击包含要搜索的表、过程、函数、包和视图的架构。 如果不确定要单击哪个架构,请单击根节点。 
- 在 “在类别中搜索 ”文本框中,输入搜索表达式以搜索特定架构。 例如,若要搜索名称中具有“SC”的架构,请在文本框中键入 %SC% 。 
- 单击带有向右箭头图标的按钮,开始搜索。 搜索完成后, “可用类别和操作 ”框将列出满足搜索条件的架构。 
- 在 “选择类别 ”框中,展开与架构对应的节点,然后单击要在其中搜索的数据库项。 在 “在类别中搜索 ”文本框中,输入搜索表达式以搜索特定数据库项。 - 例如,若要搜索名称中包含“EMP”的表,请选择“表”,在“在类别中搜索”文本框中键入 %EMP%,然后单击带有右箭头图标的按钮。 - 下图显示了使用适配器服务外接程序,其中列出了搜索结果。   - 注意 - 使用 WCF 通道和服务模型,适配器客户端可以指定批大小以执行元数据的批量搜索。 
使用“使用适配器服务加载项”或“添加适配器元数据向导”生成架构
可以使用“使用适配器服务加载项”或“添加适配器元数据向导”为选定的 Oracle 数据库项目生成架构。 浏览并搜索要调用的项目后,可以为这些项目生成架构,并将符合架构的消息发送到 Oracle 数据库。 执行以下步骤,使用“使用适配器服务”加载项从 Oracle 数据库检索元数据。
注意
可以选择类别节点以返回该类别的子树中的所有操作,例如,可以选择整个表 (为表) 中的所有操作生成架构,或者对表 (选择特定操作,例如,插入和删除) ,以便仅为表上的这些操作生成架构。 有关节点的详细信息,请参阅 元数据节点 ID3。
从 Oracle 数据库检索元数据
- 使用“使用适配器服务加载项”或“添加适配器元数据向导”连接到 Oracle 数据库。 有关说明,请参阅 在 Visual Studio 中连接到 Oracle 数据库 。 
- 从 “选择协定类型” 下拉列表中,根据是要使用适配器执行入站还是出站操作来选择协定的类型。 
- 在 “选择类别 ”框中,展开架构节点。 
- 选择要为其生成元数据的类别。 例如,如果要为表生成元数据,请选择“ 表”。 
- 展开该特定类别节点,并在该节点中选择要为其生成元数据的特定项。 - 例如,若要为特定表生成元数据,请展开 “表” 节点,然后选择特定的表名称。 - 注意 - 还可以搜索特定的数据库项,如上一过程所述。 
- 在 “可用类别和操作 ”框中,选择与上一步中选择的数据库项相关的操作,然后单击“ 添加”。 所选操作在 “添加的类别和操作 ”框中列出。 - 下图显示了使用适配器服务加载项,其中列出了所选操作。   - 如果要为多个操作生成架构,则这些架构中可能存在一些重复的元素定义,这可能会导致编译 BizTalk 项目失败。 例如,假设为操作“Op1”生成架构。 “Op1”的架构包含复杂数据类型“CT1”的参数。 生成“Op1”的架构后,关闭“使用适配器服务外接程序”,然后重新打开它,为另一个操作“Op2”生成架构。 假设“Op2”还包含复杂数据类型“CT1”的参数。 退出“使用适配器服务加载项”并编译项目后,将收到编译错误,因为复杂的数据类型“CT1”在不同的 XSD 文件中定义两次。 在这种情况下,我们建议执行以下操作: - 为单次运行“使用适配器服务加载项”中的所有操作生成架构。 这可确保使用适配器服务外接程序仅为复杂数据类型“CT1”生成一个定义。 
- 如果要为使用适配器服务外接程序的不同运行中的多个操作生成架构,请确保选中“检查生成唯一架构类型”框,以便生成的 XSD 文件包含复杂数据类型“CT1”的唯一命名空间。 
 
- 单击 “确定” 。 架构文件以 .xsd 扩展名保存在 BizTalk 项目所在的同一位置。 - 默认情况下,使用命名约定“OracleDBBindingSchema<n.xsd>”创建文件,其中“n”可以是 1、2 等,具体取决于创建的架构文件的数量。 或者,可以通过在 “文件名前缀” 文本框中输入名称来为架构文件提供自定义名称。 现在,使用适配器服务外接程序会创建具有命名约定<文件名前缀>Schema n.xsd> 的架构<文件。 - 注意 - 使用适配器服务外接程序还会创建一个绑定文件 (XML 文件) 包含你在为操作生成架构时指定的绑定属性以及用于调用操作的 SOAP 操作。 可以在 BizTalk Server 管理控制台中导入此绑定文件,以使用连接 URI、绑定属性和 SOAP 操作集创建 WCF-Custom 端口。 有关详细信息,请参阅 使用到 Oracle 数据库的端口绑定文件配置物理端口绑定。 - 重要 - 使用“添加适配器元数据向导”不会生成绑定文件。 
- 在“文件”菜单上,单击“全部保存” 。 
使用添加适配器服务引用插件生成 WCF 客户端或 WCF 服务协定
可以使用添加适配器服务引用插件为出站操作生成 WCF 客户端代码或为入站操作生成 WCF 服务代码。
从 Oracle 数据库检索元数据
- 在“添加适配器服务引用”插件的“ 选择协定类型” 下拉列表中,根据是要执行入站 (POLLINGSTMT) 还是出站操作来选择协定的类型。 
- 浏览或搜索 (类别(如 Oracle Database 表) ),或查找要为其生成 WCF 客户端 (或 WCF 服务协定) 的特定操作。 
 例如,浏览 SCOTT 中的操作。EMP 表,在 “选择类别 ”框中:- 展开根节点 (/) 以查看 Oracle 数据库显示的架构。 
- 在根节点下,展开 SCOTT 节点以查看为 SCOTT 架构公开的类别。 
- 在 “SCOTT ”节点下,展开“ 表 ”节点以查看针对 SCOTT 架构显示的表。 
- 在“ 表 ”节点下,选择 EMP 节点。 EMP 表显示的操作列在 “可用类别和操作 ”框中。 
 
- 在 “可用的类别和操作 ”框中,选择要为其生成 WCF 客户端 (或 WCF 服务协定) 的操作或类别,然后单击“ 添加”。 所选操作在 “添加的类别和操作 ”框中列出。 - 下图显示了包含 SCOTT 的插入和更新操作的“添加适配器服务引用”插件。已选择 EMP 表。   - 重要 - 根据所选) (或类别的出站操作,可能会生成多个 WCF 客户端类。 有关详细信息,请参阅 为 Oracle 数据库解决方案项目生成 WCF 客户端或 WCF 服务协定。 
- 在大多数情况下,默认序列化选项已足够;但是,如果需要,可以控制有关生成的代码和使用的序列化程序类型的几个方面。 若要设置这些选项,请执行以下操作: - 单击“ 高级选项” 打开“ 高级选项” 框。 
- 在“选择生成的代理的选项”下的“高级选项”框中,选择所需的选项。 例如,可以选择是为 WCF 客户端生成异步方法还是禁用配置文件的生成。 
- 在 “序列化程序 ”下,选择应使用的序列化程序。 - 下图显示了“ 高级选项” 框,其中为序列化程序选择了默认选项 (“自动 ”,) 未选择其他选项。   - 可以在“ 高级 选项”框中配置的选项等效于使用 ServiceModel 元数据实用工具 (svcutil.exe) 时可用的一些选项。 有关这些选项的详细信息,请参阅 ServiceModel 元数据实用工具 (Svcutil.exe) 。 
 
- 单击 “确定” 。 添加适配器服务引用插件将 WCF 客户端类保存 (或 WCF 服务接口) ,以及已在项目目录中选择的操作和类别的帮助程序代码。 默认情况下,还会保存配置文件。 为入站和出站操作生成的文件略有不同;有关详细信息,请参阅 为 Oracle 数据库解决方案项目生成 WCF 客户端或 WCF 服务协定。 - 可以选择“ 可用类别和操作 ”框中列出的任何节点。 如果选择类别节点,则将选择该节点及其子节点下可用的所有操作。 例如,若要为 EMP 表显示的所有操作生成 WCF 客户端,可以选择 EMP 节点;若要为 SCOTT 架构中的所有表生成 WCF 客户端,可以选择“表”节点;等等。