管理与程序设计指南

设置 Oracle 语言环境

使用以下步骤从 Net.Data 宏访问 Oracle 数据库:

  1. 确保已经安装了适当的 Oracle 组件,并能如下工作:
    1. 在安装 Net.Data 的机器上安装 SQL*Net (如果尚未安装的话)。有关的更多信息,参见以下 URL:
      http://www.oracle.com/products/networking/html/stnd_sqlnet.html
      
    2. 验证使用 Oracle tnsping 函数时可以采用与 Web 服务器所使用的相同的安全性权限。要验证这一点,可用您的用户 ID 注册到 Web 服务器, 然后输入:
      tnsping oracle-instance-name
      

      其中 oracle-instance-name 是您的 Net.Data 宏所访问的 Oracle 系统的名称。

      如果您的 Web 服务器在系统权限下运行,那么您可能无法在 Windows NT 上验证 tnsping 函数。如果是这样的话,则跳过这一步。

    3. 验证 Oracle 表格可以采用与 Web 服务器所使用的相同的安全性权限来访问。为了验证这一点,请使用 SQL*Plus 行命令工具,输入一个 SQL SELECT 语句,从而通过 SQL SELECT 语句使用您的 Web 服务器的权限来访问 Oracle 表格。例如:
      SELECT * FROM tablename
      

      如果您的 Web 服务器在系统权限下运行,那么您可能无法在 Windows NT 上进行验证。如果是这样的话,则跳过这一步。

    疑难问题解决:如果上述步骤失败,请不要继续。 如果有一步失败,请检查您的 Oracle 配置。
  2. 确保在您的 Web 服务器处理中已经正确设置了 Oracle 环境变量。提示:对于其他的 Oracle 环境变量,您可能还需要添加一些行, 这取决于您计划使用的 Oracle 程序,例如:国家语言支持和两阶段落实。有关这些环境变量的更多信息,请参考 Oracle 管理文档。
  3. 从 Net.Data 测试与 Oracle 的连接。在 Net.Data 宏中,请在 LOGIN 和 PASSWORD 变量中指定适当的值。在访问 Oracle 数据库时,不要定义 Net.Data DATABASE 变量。 下面是宏中连接语句的一个示例:
    %DEFINE LOGIN=user_ID@remote-oracle-instance-name
    %DEFINE PASSWORD=password 
    

    本地 Oracle 实例:

    如果您只访问本地的 Oracle 实例,则不要指定远程 Oracle 实例的名称作为注册 用户 ID 的一部分,如下面的示例所示:

    %DEFINE LOGIN=user_ID
    %DEFINE PASSWORD=password
    
    Live Connection:

    如果您使用 Live Connection, 那么您可以在 Live Connection 配置文件中指定 LOGIN 和 PASSWORD, 尽管出于安全性的目的,我们建议您不要这么做。例如:

    CLIETTE DTW_ORA:{
    MIN_PROCESS=1
    MAX_PROCESS=3
    EXEC_NAME=./dtwora8
    DATABASE=not_used
    LOGIN=userid@remote_oracle_instance_name
    PASSWORD=password
    }
    
    提示:不要对 Oracle 指定 DATABASE 变量。
  4. 通过运行 CGI 外壳脚本来测试您的配置,从而确保可以从您的 Web 服务器访问 Oracle 实例,如下面的示例所示:
    #! /bin/sh
    echo "content-type; text/html
    echo
    echo "< html>< pre>"
    set
    echo "</pre><p>&nbsp;</p><pre>"
    tnsping oracle-instance-name
    echo
    

    同样,您可以从 Net.Data 宏直接执行 tnsping, 如下面的示例所示:

    %DEFINE testora = %exec "tnsping oracle-instance-name"
    %HTML (report){
    < P>About to test Oracle access with tnsping.
    < hr>
    $(testora)
    < hr>
    < P>The Oracle test is complete.
    %}
    

    疑难问题解决:

    如果验证步骤失败,则请检查前面所有的步骤都是成功的,这可以通过验证以下项来实现:

    如果验证步骤仍然失败,请与 IBM 的服务部门联系。

示例:

完成了访问验证步骤之后,可以使用宏中的函数来调用 Oracle 语言环境,如下例所示:

%FUNCTION(DTW_ORA) STL1() {
insert into $(tablename) (int1,int2) values (111,NULL)
%}


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]