创建 Oracle 电子商务套件连接 URI

Microsoft BizTalk Adapter for Oracle E-Business Suite 连接 URI 包含适配器用来与 Oracle E-Business Suite 建立连接的属性,本质上是基础 Oracle 数据库。 Oracle 电子商务适配器支持两种连接到基础 Oracle 数据库的方法:使用 tnsnames.ora 和不使用 tnsnames.ora。 根据连接方法的类型,连接 URI 的格式也不同。 本主题提供有关 Oracle 连接 URI 的信息,还提供了指向其他主题的链接,这些主题介绍如何在不同的编程方案中指定 URI。

Oracle E-Business Suite 是一个应用程序层,它与基础 Oracle 数据库进行交互,根据组织内的不同需求分为不同的应用程序,例如财务和 HR。 其中每个应用程序都提供各种“表单”,使用户能够将数据输入基础 Oracle 数据库。 通过将用户与应用程序上下文相关联来限制对这些表单的访问,该上下文包含用户所属的组织 ID、与用户关联的“责任”以及用户想要调用的 Oracle 电子商务套件应用程序的名称。 即使适配器直接连接到基础数据库,并且不使用窗体来与 Oracle 电子商务套件进行交互,但在对 Oracle E-Business Suite 项目执行操作时,必须设置应用程序上下文。 因此,若要使用 Oracle 电子商务适配器连接到 Oracle 电子商务套件和基础 Oracle 数据库,必须:

  • 指定连接 URI 以连接到 Oracle E-Business Suite 和基础 Oracle 数据库。 建立连接时,可以选择指定 Oracle 电子商务套件或基础 Oracle 数据库的凭据。

  • 为用户设置应用程序上下文。 Oracle 电子商务适配器公开某些接受凭据和责任的绑定属性。 有关这些绑定属性的详细信息,请参阅 阅读有关 BizTalk Adapter for Oracle E-Business Suite 绑定属性的信息。 有关设置应用程序上下文的详细信息,请参阅 设置应用程序上下文

    本部分介绍如何指定连接 URI 以使用 tnsnames.ora 和不使用 tnsnames.ora 连接到基础数据库。 它还提供有关使用连接 URI 连接到 Oracle 电子商务套件的信息。

使用 tnsnames.ora 进行连接

重要

  • 对于此方法,必须在安装了适配器客户端的计算机上的 tnsnames.ora 文件中添加 net 服务名称条目。 有关网络服务名称条目的信息,请参阅 为电子商务套件适配器配置 Oracle 客户端
    • 由于 Oracle 客户端限制,如果在事务中执行操作,则连接 URI 中) (Net 服务名称 (DataSourceName 参数不能包含超过 39 个字符。 因此,如果要在事务中执行操作,请确保为 DataSourceName 参数指定的值小于或等于 39 个字符。

连接 URI 可以包含用于标识要连接的 Oracle 电子商务套件服务的 Oracle Net 服务名称。 Oracle 客户端根据配置要使用的 Oracle 命名方法层次结构,将连接 URI 中提供的 Oracle Net 服务名称解析为 Oracle 电子商务套件服务的连接信息。 一种常见的命名方法称为本地命名。 在本地命名中,Oracle 客户端使用名为 tnsnames.ora 的文件来解析 Oracle 网络服务名称。

WCF 中典型的终结点地址 URI 表示为: scheme://userauthparams@hostinfoparams,其中:

  • scheme 是方案名称。

  • userauthparams 是终结点进行用户身份验证所需的参数的名称值集合。

  • hostinfoparams 是建立与主机的连接所需的信息;例如,网络服务名称。

    Oracle 电子商务适配器连接 URI 遵循此基本格式,并按如下方式实现:

oracleebs://User=[USER_NAME];Password=[PASSWORD]@[NET_SERVICE_NAME]  

下表说明了连接 URI 中包含的属性。

连接 URI 属性 类别 说明
[USER_NAME] userauthparams 用于身份验证的用户名。 Oracle 电子商务适配器公开 ClientCredentialType 绑定属性,该属性指定客户端为建立连接而指定的 Oracle 客户端凭据的类型。 ClientCredentialType 绑定属性的可能值为 DatabaseEBusiness。 根据此绑定属性的值,必须指定相关凭据。 有关详细信息,请参阅 Oracle 凭据和连接 URI注意: 必须将 AcceptCredentialsInUri 绑定属性设置为 true ,才能在连接 URI 中指定用户名和密码。 注意: Oracle 电子商务适配器不会保留在连接到 Oracle 电子商务套件时为用户名输入的值大小写。 用户名使用 SQL*Plus 的标准规则传递到 Oracle E-Business Suite。 但是,如果希望保留用户名大小写,或者要输入包含特殊字符的用户名,则必须在双引号内指定值。
[PASSWORD] userauthparams 用于身份验证的密码。 Oracle 电子商务适配器公开 ClientCredentialType 绑定属性,该属性指定客户端为建立连接而指定的 Oracle 客户端凭据的类型。 如果将 ClientCredentialType 属性设置为 Database,则客户端必须为 Oracle 数据库用户指定密码。 如果 ClientCredentialType 属性设置为 EBusiness,则客户端必须指定 Oracle 电子商务套件用户的密码。 注意: Oracle 电子商务适配器不会保留连接到 Oracle 电子商务套件时为密码输入的值大小写。 用户名使用 SQL*Plus 的标准规则传递到 Oracle E-Business Suite。 但是,如果希望保留密码大小写,或者要输入包含特殊字符的密码,则必须在双引号内指定值。
[NET_SERVICE_NAME] hostinfoparams 在安装了 Oracle 电子商务适配器的计算机上的 tnsnames.ora 文件中指定的网络服务名称。 有关网络服务名称和 tnsnames.ora 的信息,请参阅 为 E-Business Suite 适配器配置 Oracle 客户端

不使用 tnsnames.ora 进行连接

重要

  • 对于此方法,tnsnames.ora 中不需要有 net service name 条目。 此外,甚至不需要在安装了适配器客户端的计算机上具有 tnsnames.ora 文件。
    • 如果在事务中执行操作,则不支持此连接模式。 这是由于 Oracle 客户端的限制。

WCF 中典型的终结点地址 URI 表示为: scheme://userauthparams@hostinfoparams,其中:

  • scheme 是方案名称。

  • userauthparams 是终结点进行用户身份验证所需的参数的名称值集合。

  • hostinfoparams 是建立与主机的连接所需的信息;例如,服务器名称、端口号等。

    Oracle 电子商务适配器连接 URI 遵循此基本格式,并按如下方式实现:

oracleebs://User=[USER_NAME];Password=[PASSWORD]@[SERVER_NAME]:[PORT_NUMBER]/[SERVICE_NAME]/[SERVICE_TYPE]   

下表说明了连接 URI 中包含的属性。

连接 URI 属性 类别 说明
[USER_NAME] userauthparams 用于身份验证的用户名。 Oracle 电子商务适配器公开 ClientCredentialType 绑定属性,该属性指定客户端为建立连接而指定的 Oracle 客户端凭据的类型。 ClientCredentialType 绑定属性的可能值为 DatabaseEBusiness。 根据此绑定属性的值,必须指定相关凭据。 有关详细信息,请参阅 Oracle 凭据和连接 URI注意: 必须将 AcceptCredentialsInUri 绑定属性设置为 true ,才能在连接 URI 中指定用户名和密码。 注意: Oracle 电子商务适配器不会保留在连接到 Oracle 电子商务套件时为用户名输入的值大小写。 用户名使用 SQL*Plus 的标准规则传递到 Oracle E-Business Suite。 但是,如果希望保留用户名大小写,或者要输入包含特殊字符的用户名,则必须在双引号内指定值。
[PASSWORD] userauthparams 用于身份验证的密码。 Oracle 电子商务适配器公开 ClientCredentialType 绑定属性,该属性指定客户端为建立连接而指定的 Oracle 客户端凭据的类型。 如果将 ClientCredentialType 属性设置为 Database,则客户端必须为 Oracle 数据库用户指定密码。 如果 ClientCredentialType 属性设置为 EBusiness,则客户端必须指定 Oracle 电子商务套件用户的密码。 注意: Oracle 电子商务适配器不会保留连接到 Oracle 电子商务套件时为密码输入的值大小写。 用户名使用 SQL*Plus 的标准规则传递到 Oracle E-Business Suite。 但是,如果希望保留密码大小写,或者要输入包含特殊字符的密码,则必须在双引号内指定值。
[SERVER_NAME] hostinfoparams 运行 Oracle 电子商务套件的服务器的名称。 必须设置此项。
[PORT_NUMBER] hostinfoparams Oracle Net 侦听器端口。 默认值 1521。
[SERVICE_NAME] hostinfoparams Oracle 数据库服务名称。 必须设置此项。
[SERVICE_TYPE] hostinfoparams Oracle 服务的类型。 可能的值为 DedicatedShared。 专用服务使用专用服务器进程仅为一个用户进程提供服务。 共享服务使用可为多个用户进程提供服务的共享服务器进程。 默认值为“专用”

Oracle 凭据和连接 URI

默认情况下,在连接 URI 中指定 Oracle 凭据时,Oracle 电子商务适配器将引发异常。 这是因为这些凭据在连接 URI 中以纯文本形式表示,这会带来安全风险。 可以设置 AcceptCredentialsInUri 绑定属性来控制连接 URI 是否可以包含 Oracle 数据库的凭据。 如果 AcceptCredentialsInUri 属性为 false(默认值),则如果连接 URI 包含 Oracle 凭据,Oracle 电子商务适配器将引发异常;如果该属性为 true,则不引发异常。

重要

由于以纯文本形式在字符串中传递凭据会带来安全风险,应避免在连接 URI 中指定 Oracle 数据库连接凭据。 有关如何更安全地为 Oracle 数据库提供凭据的详细信息,请参阅 保护 Oracle EBS 应用程序

还可以选择指定数据库凭据或 Oracle 电子商务套件凭据,以便与 Oracle E-Business Suite 建立连接。 适配器公开三个绑定属性来启用此行为: ClientCredentialTypeOracleUserNameOraclePassword

ClientCredentialType 绑定属性的可能值为 DatabaseEBusiness

  • 如果将 ClientCredentialType 属性设置为 Database,则客户端必须指定数据库凭据。

  • 如果 ClientCredentialType 属性设置为 EBusiness,则客户端必须指定 Oracle 电子商务套件凭据。 在这种情况下,适配器客户端还必须为 OracleUserNameOraclePassword 绑定属性指定数据库凭据。

重要

如果适配器客户端通过将 ClientCredentialType 绑定属性设置为 Database 来指定连接到 Oracle 电子商务套件的数据库 凭据,但调用 Oracle E-Business Suite 项目,则使用为 OracleUserNameOraclePassword 绑定属性指定的值来设置应用程序上下文。 在 Oracle 电子商务套件中调用项目时,必须设置应用程序上下文。 有关设置应用程序上下文的详细信息,请参阅 设置应用程序上下文

在连接 URI 中使用保留字符

Oracle 电子商务适配器不支持为任何参数值指定具有特殊字符的连接 URI。 如果连接参数值包含特殊字符,请确保执行以下操作之一:

  • 如果使用“添加适配器服务引用插件”或“使用适配器服务加载项”在 Visual Studio 中指定 URI,则必须在“ URI 属性 ”选项卡中按原样指定这些 URI,即不使用任何转义字符。 如果直接在 “配置 URI”字段中指定 URI,并且连接参数包含保留字符,则必须使用正确的转义字符指定连接参数。

  • 如果在 BizTalk Server 管理控制台中创建发送或接收端口时指定 URI,并且连接参数包含保留字符,则必须使用正确的转义字符指定连接参数。

使用连接 URI 连接到 Oracle 电子商务套件

下面是使用 tnsnames.ora 的 Oracle 电子商务适配器的连接 URI 示例。

oracleebs://ADAPTER  

在此示例中,ADAPTER 是一个网络服务名称,它与 tnsnames.ora 中目标 Oracle 数据库的服务名称和连接信息相关联。

下面是不使用 tnsnames.ora 的 Oracle 电子商务适配器的连接 URI 示例。

oracleebs://yourOracleServer:1521/yourOracleDatabaseServiceName/Dedicated  

在此示例中,服务器名称为“yourOracleServer”,服务名称为“yourOracleDatabaseServiceName”。

有关如何在以下内容时与 Oracle 电子商务套件建立连接的信息:

另请参阅

为 E-Business Suite 适配器配置 Oracle 客户端
使用 Windows 身份验证连接到 Oracle E-Business Suite
创建与 Oracle E-Business Suite 的连接