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 架構。
ORACLE_SID=oracle-instance-name ORACLE_HOME=oracle-runtime-library-directory
ORACLE_SID=oracle-instance-name ORACLE_HOME=oracle-runtime-library-directory
暗示:您可能會需要額外的字行來供其他 Oracle 環境變數使用, 而這些字行需視您所計畫使用的 Oracle 機能而定,例如國家語言支援及二階段確認寫入。 這些環境變數的相關資訊,請參閱 Oracle 管理文件。
%DEFINE LOGIN=user_ID@remote-oracle-instance-name %DEFINE PASSWORD=password
本機 Oracle 案例:
如果您只存取本機的 Oracle 案例, 請勿指定遠端 Oracle 案例 (remote-oracle-instance) 名稱來作為登入使用者 ID 的一部份, 如下列範例所示:
%DEFINE LOGIN=user_ID %DEFINE PASSWORD=password
現場連線:
如果您使用「現場連線」,您就可以在「現場連線」架構檔中指定 LOGIN 及 PASSWORD, 雖然基於安全性目的,我們不建議您這樣做。例如:
LOGIN=user_ID PASSWORD=password
暗示:請勿指定 DATABASE 變數給 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)
%}