IBM Books

Net.Data 语言环境参考


Oracle 语言环境

Oracle 语言环境提供了对 Oracle 数据的本机访问。您可以从在 CGI、FastCGI、NSAPI、 ISAPI 或 GWAPI 方式下运行的 Net.Data 中访问 Oracle 表格。本语言环境支持 Oracle 7.2、7.3 和 8.0。

限制:

要从 Net.Data 访问 Oracle

  1. 验证 Net.Data 初始化文件中的 ENVIRONMENT 语句对于 Oracle 语言环境是正确的。请 参阅 Net.Data 管理与程序设计指南中的配置一章,以获取有关步骤和例子 的更多信息。

  2. 确保已经安装了适当的 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 配置。

  3. 确保在您的 Web 服务器处理中已经正确设置了 Oracle 环境变量。提示:对于其它的 Oracle 环境变量,您可能还需要添加一些行, 这取决于您计划使用的 Oracle 程序,例如:国家语言支持和两阶段确认。有关这些环境变量的更多 信息,请参考 Oracle 管理文档。

  4. 从 Net.Data 测试与 Oracle 的连接。在您的 Net.Data 宏文件中,请在 LOGIN 和 PASSWORD 变量 中指定适当的值。访问 Oracle 数据库时,不要定义 DATABASE 变量。 下面是宏文件中连接语句的一个例子:
    %DEFINE LOGIN=user_ID@remote-oracle-instance-name
    %DEFINE PASSWORD=password 
    

    本地 Oracle 实例:

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

    %DEFINE LOGIN=user_ID
    %DEFINE PASSWORD=password
    
    现场连接:

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

    LOGIN=user_ID
    PASSWORD=password
    
    提示:不要对 Oracle 指定 DATABASE 变量。

  5. 通过运行 CGI 外壳脚本来测试您的配置,从而确保可以从您的 Web 服务器访问 Oracle 实例, 如下面的例子所示:
    #! /bin/sh
    echo "content-type; text/html
    echo
    echo "< html>< pre>"
    set
    echo "</pre>< 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.
    %}
    

    疑难问题解决:

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

例子:

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

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


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