Oracle 语言环境提供了对 Oracle 数据的本机访问。您可以从在 CGI、FastCGI、NSAPI、 ISAPI 或 GWAPI 方式下运行的 Net.Data 中访问 Oracle 表格。本语言环境支持 Oracle 7.2、7.3 和 8.0。
限制:
LOGON=admin@ora73
要从 Net.Data 访问 Oracle
http://www.oracle.com/products/networking/html/stnd_sqlnet.html
tnsping oracle-instance-name
其中 oracle-instance-name 是您的 Net.Data 宏所访问的 Oracle 系统 的名称。
如果您的 Web 服务器在系统权限下运行,那么您可能无法在 Windows NT 上 验证 tnsping 函数。如果是这样的话,则跳过这一步。
SELECT * FROM tablename
如果您的 Web 服务器在系统权限下运行,那么您可能无法在 Windows NT 上 进行验证。如果是这样的话,则跳过这一步。
ORACLE_SID=oracle-instance-name ORACLE_HOME=oracle-runtime-library-directory
ORACLE_SID=oracle-instance-name ORACLE_HOME=oracle-runtime-library-directory
%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 变量。
#! /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) %}