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 伺服器所使用的同一個安全性權限來使用。 若要驗證,請用您的 Web 伺服器的使用者 ID 登入,並鍵入:
      tnsping oracle-instance-name
      

      其中 oracle-instance-name 是您的 Net.Data 巨集所存取之 Oracle 系統的名稱。

      如果您的 Web 伺服器是在系統權限之下執行, 您可能就無法驗證 Windows NT 上的 tnsping 函數。 如果真是如此,則跳過這個步驟。

    3. 驗證 Oracle 表格可以用 Web 伺服器所使用的同一個安全性權限來存取。 欲驗證,請用 SQL*Plus 字行指令工具來輸入 SQL SELECT 陳述式, 以存取 Oracle 表格及具有您 Web 伺服器權限的 SQL SELECT 陳述式。例如:
      SELECT * FROM tablename
      

      如果您的 Web 伺服器是在系統權限之下執行, 您可能就無法驗證 Windows NT 上的表格存取。 如果真是如此,則跳過這個步驟。

    疑難排解:如果上述步驟失敗,則請勿繼續。 如果有任何步驟失敗,請檢查您的 Oracle 架構。

  3. 確定 Oracle 環境變數皆已正確地設定在您的 Web 伺服器處理程序中。

    暗示:您可能會需要額外的字行來供其他 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 案例 (remote-oracle-instance) 名稱來作為登入使用者 ID 的一部份, 如下列範例所示:

    %DEFINE LOGIN=user_ID
    %DEFINE PASSWORD=password
    

    現場連線:

    如果您使用「現場連線」,您就可以在「現場連線」架構檔中指定 LOGIN 及 PASSWORD, 雖然基於安全性目的,我們不建議您這樣做。例如:

    LOGIN=user_ID
    PASSWORD=password
    

    暗示:請勿指定 DATABASE 變數給 Oracle。

  5. 執行 CGI shell script 來測試您的架構, 以確定可以從您的 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.
    %}
    

    疑難排解:

    如果驗證步驟失敗,請檢查是否所有的進行步驟都已順利完成,驗證方法如下:

    如果驗證步驟仍失敗,請聯絡「IBM 服務人員」。

範例:

在您完成存取驗證步驟之後,您可以用巨集檔中的函數來呼叫 Oracle 語言環境, 如下列範例所示:

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


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]