Fork me on GitHub

为监听程序配置外部过程

为监听程序配置外部过程

外部过程是从另一个程序调用的、用不同语言编写的过程。PL/SQL 程序为执行特殊处理而调用一个或多个所需的 C 语言例行程序,便是这样的示例。

可以配置监听程序来监听外部过程的调用情况。当应用程序调用外部过程时,监听程序启动默认情况下名为 extproc 的外部过程代理。应用程序使用由监听程序建立的网络连接,向该代理传递以下信息:

  • DLL 或共享库名称

  • 外部过程名

  • 任意参数

接下来,该代理将加载 DLL 和运行外部过程,并将外部过程返回的任何值传回应用程序。

代理可以驻留在数据库服务器所在的同一计算机上,也可以驻留在监听程序所在的远程计算机上。

对于连接到外部过程的 Oracle 数据库而言,请使用协议地址和外部过程服务信息配置 listener.ora 文件。

:在安装 Oracle9i 或 Oracle8i 期间,Oracle Net Configuration Assistant 将在 listener.ora 文件中配置此信息。

要配置监听程序来监听外部过程的调用情况,请执行以下操作:

  1. 创建一个专门用于处理外部过程的监听程序:

  2. a. 在导航器窗格中,展开 Oracle 网络配置 > 本地 > 监听程序

    b. 在工具栏中选择加号 (+) 或选择编辑 > 创建。此时将显示“选择监听程序名”对话框。

    c. 在监听程序名字段中输入唯一的监听程序名。

    d. 选择确定

  3. 如果代理驻留在数据库服务器上,请在 listener.ora 文件中配置 TCP/IP 或 IPC 协议地址。如果外部过程代理驻留在远程计算机上,请在 listener.ora 文件中配置 TCP/IP 协议地址。以下过程描述了如何为默认外部过程代理 extproc 创建 IPC 地址:

  4. a. 选择刚创建的监听程序。

    b. 从右侧窗格的列表中选择监听位置

    c. 选择添加地址。此时将显示新的地址选项卡。

    d. 从协议列表中选择 IPC,然后为密钥输入值。

  5. listener.ora 文件中添加有关 extproc 的服务信息

  6. a. 从右侧窗格的列表中,选择其他服务

    b. 选择添加服务。此时将显示新的服务选项卡。

    c. 在程序名字段中输入 extproc,在此字段中输入例如 extproc 这样的系统标识符,并在 Oracle 主目录字段中输入 extproc 可执行文件所在的 Oracle 主目录。如果应用程序要求在启动代理之前先设置环境变量,则在环境字段中输入值。例如,如果应用程序要求将环境变量 MYAPPDIR 用于二进制位置,并将 APPID 用于 ID,则可以在环境字段中输入以下值:

    'MYAPPDIR=/myappdir/bin','APPID=MYAPP'

  7. 如果配置了 TCP/IP 协议地址,请指定允许访问的远程客户机:

  8. a. 在导航器窗格中,展开本地 > 概要文件

    b. 从右侧窗格的列表中,选择一般信息

    c. 选择访问权限选项卡。

    d. 选择检查 TCP/IP 客户机访问权限选项。

    e. 在允许访问的客户机字段中,输入希望包含或排除的客户机的主机名或 IP 地址,放置在同一行上的条目之间用逗号分隔。

  9. 在数据库服务器的 tnsnames.ora 文件中创建网络服务名,确保其连接描述符与 listener.ora 文件中配置的信息相匹配,如为外部过程配置连接描述符中所述。

  10. 选择文件 > 保存网络配置

相关主题

Oracle Net Services 概览

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!