用于 Oracle E-Business Suite 连接 URI 的 Microsoft BizTalk 适配器包含适配器用于建立与 Oracle E-Business Suite 的连接的属性,本质上是基础 Oracle 数据库。 Oracle E-Business 适配器支持两种方法连接到基础 Oracle 数据库:一种是使用 tnsnames.ora,另一种是不使用 tnsnames.ora。 根据连接方法的类型,连接 URI 的格式也不同。 本主题提供有关 Oracle 连接 URI 的信息,并提供指向其他主题的链接,这些主题说明如何在不同的编程方案中指定 URI。
Oracle E-Business Suite 是一个应用程序层,它与基础 Oracle 数据库进行交互,并根据组织内的不同需求分类为不同的应用程序,例如财务和 HR。 其中每个应用程序都提供了各种“表单”,使用户能够将数据输入到基础 Oracle 数据库中。 通过将用户与应用上下文关联,并在该上下文中包含用户所属的组织 ID、与用户关联的“责任”,以及用户要调用的 Oracle E-Business Suite 应用程序名称,从而限制对这些表单的访问。 即使适配器直接连接到基础数据库,并且不使用表单与 Oracle E-Business Suite 进行交互,但在对 Oracle E-Business Suite 项目执行作时,设置应用程序上下文是必需的。 因此,若要使用 Oracle 电子商务适配器连接到 Oracle 电子商务套件和基础 Oracle 数据库,必须:
指定连接到 Oracle E-Business Suite 和基础 Oracle 数据库的连接 URI。 建立连接时,您可以选择指定 Oracle E-Business Suite 或底层 Oracle 基础数据库的凭据。
为用户设置应用程序上下文。 Oracle 电子商务适配器公开接受凭据和责任的某些绑定属性。 有关这些绑定属性的详细信息,请参阅 有关 Oracle E-Business Suite 绑定属性的 BizTalk 适配器的信息。 有关设置应用程序上下文的详细信息,请参阅 “设置应用程序上下文”。
本部分介绍如何指定连接 URI 以使用 tnsnames.ora 和不使用 tnsnames.ora 连接到基础数据库。 它还提供有关使用连接 URI 连接到 Oracle E-Business Suite 的信息。
使用 tnsnames.ora 进行连接
重要
- 对于此方法,必须在安装了适配器客户端的计算机上的 tnsnames.ora 文件中添加 net 服务名称条目。 有关 net 服务名称条目的信息,请参阅 为 E-Business Suite 适配器配置 Oracle 客户端。
- 由于 Oracle 客户端的限制,如果在事务中执行作,连接 URI 中的 DataSourceName 参数(net service name)不能包含超过 39 个字符。 因此,如果要在事务中执行作,请确保为 DataSourceName 参数指定的值小于或等于 39 个字符。
连接 URI 可以包含用于标识要连接的 Oracle 电子商务套件服务的 Oracle Net 服务名称。 Oracle 客户端根据你配置的 Oracle 命名方法的层次结构,解析你在连接 URI 中提供的 Oracle net 服务名称,转换为 Oracle E-Business Suite 服务的连接信息。 一种常见的命名方法称为本地命名。 在本地命名中,Oracle 客户端使用名为 tnsnames.ora 的文件解析 Oracle net 服务名称。
WCF 中典型的终结点地址 URI 表示为:,其中: scheme://userauthparams@hostinfoparams
方案是该计划的名称。
userauthparams 是终结点进行用户身份验证所需的参数的名称值集合。
hostinfoparams 是建立与主机的连接所需的信息;例如,net 服务名称。
Oracle E-Business 适配器连接 URI 遵循此基本格式,并按如下方式实现:
oracleebs://User=[USER_NAME];Password=[PASSWORD]@[NET_SERVICE_NAME]
下表说明了连接 URI 中包含的属性。
连接 URI 属性 | 类别 | DESCRIPTION |
---|---|---|
[USER_NAME] | 用户身份验证参数 | 要用于身份验证的用户名。 Oracle E-Business 适配器公开 ClientCredentialType 绑定属性,该属性指定客户端指定建立连接的 Oracle 客户端凭据的类型。 ClientCredentialType 绑定属性的可能值为 Database 和 EBusiness。 必须指定相关的凭据,具体取决于此绑定属性的值。 有关详细信息,请参阅 Oracle 凭据和连接 URI。 注意: 必须将 AcceptCredentialsInUri 绑定属性设置为 true ,才能在连接 URI 中指定用户名和密码。 注意: Oracle E-Business 适配器在连接到 Oracle E-Business Suite 时,不会保留您输入的用户名的大小写。 用户名使用 SQL*Plus 的标准规则传递到 Oracle 电子商务套件。 但是,如果希望保留用户名的事例,或者要输入包含特殊字符的用户名,则必须在双引号内指定该值。 |
[PASSWORD] | 用户身份验证参数 | 用于身份验证的密码。 Oracle E-Business 适配器公开 ClientCredentialType 绑定属性,该属性指定客户端指定建立连接的 Oracle 客户端凭据的类型。 如果 ClientCredentialType 属性设置为 Database,则客户端必须为 Oracle 数据库用户指定密码。 如果 ClientCredentialType 属性设置为 EBusiness,则客户端必须为 Oracle E-Business Suite 用户指定密码。 注意: Oracle E-Business 适配器在连接到 Oracle E-Business Suite 时,不会保留您输入的密码值中的大小写。 用户名使用 SQL*Plus 的标准规则传递到 Oracle 电子商务套件。 但是,如果希望保留密码大小写,或者想要输入包含特殊字符的密码,则必须在双引号中指定该值。 |
[NET_SERVICE_NAME] | 主机信息参数 (hostinfoparams) | 在安装了 Oracle E-Business 适配器的计算机上的 tnsnames.ora 文件中指定的 net 服务名称。 有关 net 服务名称和 tnsnames.ora 的信息,请参阅 为 E-Business Suite 适配器配置 Oracle 客户端。 |
不使用 tnsnames.ora 进行连接
重要
- 对于此方法,不需要在 tnsnames.ora 中使用 net 服务名称条目。 此外,你甚至不需要在安装了适配器客户端的计算机上安装 tnsnames.ora 文件。
- 如果您在进行事务操作,则不支持这种连接方式。 这是因为 Oracle 客户端存在限制。
WCF 中典型的终结点地址 URI 表示为:,其中: scheme://userauthparams@hostinfoparams
方案是方案名称。
userauthparams 是终结点进行用户身份验证所需的参数的名称值集合。
hostinfoparams 是建立与主机的连接所需的信息;例如,服务器名称、端口号等。
Oracle E-Business 适配器连接 URI 遵循此基本格式,并按如下方式实现:
oracleebs://User=[USER_NAME];Password=[PASSWORD]@[SERVER_NAME]:[PORT_NUMBER]/[SERVICE_NAME]/[SERVICE_TYPE]
下表说明了连接 URI 中包含的属性。
连接 URI 属性 | 类别 | DESCRIPTION |
---|---|---|
[USER_NAME] | userauthparams(用户认证参数) | 要用于身份验证的用户名。 Oracle E-Business 适配器公开 ClientCredentialType 绑定属性,该属性指定客户端指定建立连接的 Oracle 客户端凭据的类型。 ClientCredentialType 绑定属性的可能值为 Database 和 EBusiness。 必须指定相关的凭据,具体取决于此绑定属性的值。 有关详细信息,请参阅 Oracle 凭据和连接 URI。 注意: 必须将 AcceptCredentialsInUri 绑定属性设置为 true ,才能在连接 URI 中指定用户名和密码。 注意: Oracle E-Business 适配器在连接到 Oracle E-Business Suite 时不会保留您为用户名输入的值的大小写。 用户名使用 SQL*Plus 的标准规则传递到 Oracle 电子商务套件。 但是,如果希望保留用户名的事例,或者要输入包含特殊字符的用户名,则必须在双引号内指定该值。 |
[PASSWORD] | 用户认证参数 (userauthparams) | 用于身份验证的密码。 Oracle E-Business 适配器公开 ClientCredentialType 绑定属性,该属性指定客户端指定建立连接的 Oracle 客户端凭据的类型。 如果 ClientCredentialType 属性设置为 Database,则客户端必须为 Oracle 数据库用户指定密码。 如果 ClientCredentialType 属性设置为 EBusiness,则客户端必须为 Oracle E-Business Suite 用户指定密码。 注意: Oracle E-Business 适配器不会保留连接到 Oracle E-Business Suite 时为密码输入的值大小写。 用户名使用 SQL*Plus 的标准规则传递到 Oracle 电子商务套件。 但是,如果希望保留密码大小写,或者想要输入包含特殊字符的密码,则必须在双引号中指定该值。 |
[SERVER_NAME] | 主机信息参数 | 运行 Oracle 电子商务套件的服务器的名称。 必须设置此项。 |
[PORT_NUMBER] | 主机信息参数 | Oracle Net 侦听器端口。 默认值 1521。 |
[SERVICE_NAME] | 主机信息参数 | Oracle 数据库服务名称。 必须设置此项。 |
[SERVICE_TYPE] | 主机信息参数 | Oracle 服务的类型。 可能的值为 “专用 ”或 “共享”。 专用服务使用专用服务器进程来仅为一个用户进程提供服务。 共享服务使用可为多个用户进程提供服务的共享服务器进程。 默认值为 “专用”。 |
Oracle 凭据和连接 URI
默认情况下,当在连接 URI 中指定 Oracle 凭据时,Oracle E-Business 适配器将引发异常。 这是因为这些凭据在连接 URI 中表示为纯文本,这会带来安全风险。 可以设置 AcceptCredentialsInUri 绑定属性来控制连接 URI 是否可以包含 Oracle 数据库的凭据。 如果 AcceptCredentialsInUri 属性为 false(默认值),则如果连接 URI 包含 Oracle 凭据,Oracle E-Business 适配器将引发异常;如果属性 为 true,则不会引发异常。
重要
由于将字符串中的凭据作为纯文本传递而带来的安全风险,应避免在连接 URI 中指定 Oracle 数据库连接凭据。 有关如何更安全地为 Oracle 数据库提供凭据的详细信息,请参阅 保护 Oracle EBS 应用程序。
还可以选择指定数据库凭据或 Oracle E-Business Suite 凭据,以便建立与 Oracle E-Business Suite 的连接。 适配器公开三个绑定属性以启用此行为: ClientCredentialType、 OracleUserName、 OraclePassword。
ClientCredentialType 绑定属性的可能值为 Database 和 EBusiness。
如果 ClientCredentialType 属性设置为 Database,则客户端必须指定数据库凭据。
如果 ClientCredentialType 属性设置为 EBusiness,则客户端必须指定 Oracle E-Business Suite 凭据。 在这种情况下,适配器客户端还必须为 OracleUserName 和 OraclePassword 绑定属性指定数据库凭据。
重要
如果适配器客户端通过将 ClientCredentialType 绑定属性设置为 Database 来指定连接到 Oracle E-Business Suite 的数据库凭据,但调用 Oracle E-Business Suite 项目,则使用 OracleUserName 和 OraclePassword 绑定属性指定的值来设置应用程序上下文。 在 Oracle E-Business Suite 中调用项目时,必须设置应用程序上下文。 有关设置应用程序上下文的详细信息,请参阅 “设置应用程序上下文”。
在连接 URI 中使用保留字符
Oracle E-Business 适配器不支持为任何参数值指定具有特殊字符的连接 URI。 如果连接参数值包含特殊字符,请确保执行以下作之一:
如果使用“添加适配器服务引用插件”或“使用适配器服务外接程序”在 Visual Studio 中指定 URI,则必须在 “URI 属性 ”选项卡中指定它们 as-is,即不使用任何转义字符。 如果直接在 “配置 URI ”字段中指定 URI,并且连接参数包含保留字符,则必须使用正确的转义字符指定连接参数。
如果在 BizTalk Server 管理控制台中创建发送或接收端口时指定 URI,并且连接参数包含保留字符,则必须使用正确的转义字符指定连接参数。
使用连接 URI 连接到 Oracle 电子商务套件
下面是使用 tnsnames.ora 的 Oracle 电子商务适配器的连接 URI 的示例。
oracleebs://ADAPTER
在此示例中,ADAPTER 是一个与 tnsnames.ora 中目标 Oracle 数据库的 SERVICE NAME 和连接信息关联的 NET 服务名称。
下面是 Oracle E-Business 适配器连接 URI 的示例,不使用 tnsnames.ora。
oracleebs://yourOracleServer:1521/yourOracleDatabaseServiceName/Dedicated
在此示例中,服务器名称为“yourOracleServer”,服务名称为“yourOracleDatabaseServiceName”。
有关如何建立与 Oracle 电子商务套件连接的详情,请参阅:
使用“Consume Adapter Service BizTalk 项目外接程序”或“添加适配器服务引用 Visual Studio 外接程序”;请参阅连接到 Visual Studio 中的 Oracle 电子商务套件。
在 BizTalk Server 解决方案中配置发送端口或接收端口(位置),请参阅 手动配置与 Oracle E-Business 适配器的物理端口绑定。
另请参阅
为 E-Business Suite 适配器配置 Oracle 客户端
使用 Windows 身份验证连接到 Oracle 电子商务套件
创建与 Oracle 电子商务套件的连接