使用下列步驟,從 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 範例,請不要指定 remote-oracle-instance 名稱, 作為登入使用者 ID 的一部份,範例如下:
%DEFINE LOGIN=user_ID %DEFINE PASSWORD=password
現場連線
如果您使用「現場連線」,則您可以在「現場連線」架構檔中指定 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 變數。
#! /bin/sh echo "content-type; text/html echo echo "< html>< pre>" set echo "</pre><p> </p><pre>" tnsping oracle-instance-name echo
另一種方式,您可以直接從 Net.Data 巨集執行 tnsping,範例如下:
%DEFINE testora = %exec "tnsping oracle-instance-name" %HTML(report){ < P>將以 tnsping 測試 Oracle 存取。 <hr> $(testora) <hr> < P>Oracle 測試已完成。 %}
疑難排解:
如果驗證步驟失敗,請驗證下列項目,檢查所有先前步驟是否已順利完成:
範例:
在您完成了存取驗證步驟後,您可以用巨集中的函數來呼叫 Oracle 語言環境,範例如下:
%FUNCTION(DTW_ORA) STL1() { insert into $(tablename) (int1,int2) values (111,NULL) %}