管理及程式設計指南

架構變數陳述式

Net.Data 架構變數陳述式設定了架構變數的值。 架構變數有各種不同的用途。 有些變數是語言環境適當運作或在替代模態中操作所必要的。 有些變數控制字元編碼或建構中 Web 首頁的內容。 此外,您可以使用架構變數陳述式來定義應用程式特定變數。

您使用的架構變數視您使用的語言環境、資料庫而定, 同時也視其它僅跟應用程式有關的因素而定。

更新架構變數陳述式:

以您應用程式所需的架構變數來自行設定起始設定檔。架構變數具有下列語法:

NAME[=]value-string

等號是可選用的,以方括弧表示。


下列子段落描述您可以在起始設定檔案中設定的架構變數陳述式:

「快取管理程式」架構變數

如果「快取管理程式」不是在 Net.Data 巨集執行的機器上執行, 則使用兩個可選用的架構變數:

如果「快取管理程式」在本端機器上執行, 則使用 UNIX 領域 socket 或具名管線來通信,不需要架構。

「快取管理程式」僅會在 AIX 與 Windows NT 機器上執行。請參閱 Net.Data 快取以了解關於 Net.Data 快取。

DTW_CACHE_PORT:快取管理程式埠變數
設定「快取管理程式」監聽的 TCP/IP 埠。 這個埠號必須符合「快取管理程式」架構檔中所設定的埠號, Net.Data 才能夠和「快取管理程式」通信。若未設定, 「快取管理程式」將使用預設埠 7175。

語法:

DTW_CACHE_PORT [=] port_number

參數:

port_number
設定給「快取管理程式」來服務快取要求的唯一的埠號。 預設值是 7175。

表 3 說明選項,對這些變數設定機器 ID 和埠號。


表 3. 「快取管理程式」架構變數:架構選項
預設「連線管理程式」值 如果有設定快取機器... 如果未設定快取機器...
如果有設定快取埠... Net.Data 使用設定的埠連接到設定機器上的「快取管理程式」。 Net.Data 使用設定的埠連接到本端機器上的「快取管理程式」。
如果未設定快取埠... Net.Data 使用預設埠 7175 連接到設定機器上的「快取管理程式」。 Net.Data 使用預設埠 7175 連接到本端機器上的「快取管理程式」。

DTW_CACHE_HOST:快取管理程式機器 ID 變數
設定「快取管理程式」常駐的機器。若未設定, Net.Data 將假定正確機器為區域機器。

語法:

DTW_CACHE_HOST [=] host_name

參數:

host_name
「快取管理程式」執行所在的區域或遠端機器的完整 TCP/IP 主電腦名稱。 預設值為區域機器的主電腦名稱。

DB2INSTANCE:DB2 案例變數

設定 SQL 語言環境使用的 DB2 案例。 當 Net.Data 連接到在 Windows NT、OS/2、和 UNIX 作業系統上執行的 DB2 時, 這個變數是必要的。

OS/2、Windows NT 與 UNIX 作業系統上的 DB2 需要 DB2INSTANCE 定義為一個環境變數。 如果 Net.Data 偵測到 DB2INSTANCE 未定義成環境變數,在嘗試連接到 DB2 之前, 它會將 DB2INSTANCE 環境變數設定為起始設定檔案中的 DB2INSTANCE 值。

語法:

DB2INSTANCE [=] instance_name

DTW_CM_PORT:「現場連線」埠號變數

設定 Net.Data 用於「現場連線」的唯一埠號。

語法:

DTW_CM_PORT [=] port_number

其中 port_number 設定用於「現場連線」的唯一埠號。

DTW_DEFAULT_ERROR_MESSAGE︰指定同屬錯誤訊息

使用 DTW_DEFAULT_ERROR_MESSAGE 架構變數, 指定生產應用程式的同屬錯誤訊息。此變數對於任何 MESSAGE 區塊中未擷取到的錯誤狀況, 提供一個同屬的訊息。

如果您仍然想要查看 Net.Data 所產生的實際錯誤訊息, 請使用錯誤訊息記載功能來擷取訊息。關於使用錯誤日誌的相關資訊,請參閱 Net.Data 記錄

如果未指定架構變數,Net.Data 在錯誤狀況下顯示自己的預設訊息。

語法:

DTW_DEFAULT_ERROR_MESSAGE [=] "message"

範例︰指定同屬的訊息

DTW_DEFAULT_ERROR_MESSAGE "本網站暫時無法使用。"

DTW_DIRECT_REQUEST:啟用直接要求變數

啟用或停用 Net.Data 直接要求呼叫。依據預設值,將停用直接要求。

呼叫 Net.Data 的直接要求方法容許使用者指定直接在 URL 內執行 SQL 陳述式或 Perl、 REXX 或 C 程式。當停用直接要求時,使用者必須使用巨集要求方法來 Net.Data,如此容許使用者僅執行在巨集中定義或呼叫的那些 SQL 陳述式及函數。請參閱使用 Net.Data 機制,以取得何時使用 DTW_DIRECT_REQUEST 的安全相關建議。

語法:

DTW_DIRECT_REQUEST [=] YES|NO

其中:

YES
啟用 Net.Data 直接要求。

NO
停用 Net.Data 直接要求。NO 是預設值。

DTW_INST_DIR:Net.Data 安裝目錄變數

在 Net.Data 執行期間,找出某些檔案。安裝時,您會設定此變數來設定 Net.Data 起始目錄 (<inst_dir>), Net.Data 將安裝在這個目錄中。 安裝之後請勿變更這個值。

DTW_LOG_DIR 和 DTW_LOG_LEVEL︰錯誤日誌變數

DTW_LOG_DIR 指定錯誤日誌的儲存目錄。 必須設定此變數和 DTW_LOG_LEVEL 變數,否則無法記載。

關於這些變數和以 Net.Data 記載錯誤訊息的相關資訊,請參閱記錄 Net.Data 錯誤訊息

語法:

DTW_LOG_DIR [=] \inst_dir\路徑

範例: 起始設定檔案架構

DTW_LOG_DIR \inst_dir\mylogfiles\

DTW_LOG_LEVEL︰錯誤日誌層次變數

DTW_LOG_LEVEL 指定錯誤日誌中所記錄的錯誤層次。 必須設定此變數和 DTW_LOG_DIR 變數,否則無法記載。

關於這些變數和以 Net.Data 記載錯誤訊息的相關資訊,請參閱記錄 Net.Data 錯誤訊息

語法:

DTW_LOG_LEVEL [=] off|warning|error

範例: 起始設定檔案架構

DTW_LOG_LEVEL error

DTW_MBMODE:原始語言支援變數

對於字組和字串函數啟動國家語言支援。 如果此變數的值是 YES,所有字串和字組函數會正確地處理字串內的 MBCS 字元,將字串視為混合資料 (亦即,字串包含的字元可能來自單一位元組字集和雙位元組字集)。 預設值是 NO。您可以置換掉設定在起始設定檔中的值, 方法是在 Net.Data 巨集中設定 DTW_MBMODE 變數。

這個架構變數會使用 DTW_UNICODE 架構變數。如果 DTW_UNICODE 使用預設值 NO,將使用 DTW_MBMODE 的值。 如果 DTW_UNICODE 設定為非 NO 的值,將使用它的值。表 4 描述這兩個變數的設定如何決定內建函數處理字串的方式:

表 4. DTW_UNICODE 與 DTW_MBMODE 的設定之間的關係
如果 DTW_UNICODE 設為 如果 DTW_MBMODE=YES 如果 DTW_MBMODE=NO
NO 支援 MBCS 和 SBCS 混合 僅支援 SBCS
UTF8 支援 UTF-8 支援 UTF-8

語法:

DTW_MBMODE [=] NO|YES

DTW_REMOVE_WS:用於除去額外空格的變數

如果此變數設定為 YES,Net.Data 會從 HTML 輸出中移除無關的空格。藉由壓縮空格, 此變數會減少傳送至 Web 瀏覽器的資料量,藉以改進執行效能。 預設值是 NO。

您可以在巨集中使用 DEFINE 陳述式來置換這個變數。

要訣︰如果您使用 DTW_PRINT_HEADER 來建立自己的標頭 (DTW_PRINT_HEADER "NO"),請勿將 DTW_REMOVE_WS 設定為 YES。

語法:

DTW_REMOVE_WS [=] YES|NO

DTW_SHOWSQL:啟用或停用 SHOWSQL 架構變數

置換您的 Net.Data 巨集內的設定 SHOWSQL 的效果。

語法:

DTW_SHOWSQL [=] YES|NO

其中:

YES
啟用任何巨集中將 SHOWSQL 的值設定為 YES 的 SHOWSQL。

NO
停用您的巨集中的 SHOWSQL,即使變數 SHOWSQL 設定為 YES,也是如此。NO 是預設值。

表 5描述 Net.Data 起始設定檔及巨集中的設定如何決定是否要對特殊巨集啟用或停用 SHOWSQL 變數。

表 5. SHOWSQL 的 Net.Data 起始設定檔及巨集中的設定之間的關係
DTW_SHOWSQL 的設定 設定 SHOWSQL 顯示 SQL 陳述式
NO NO NO
NO YES NO
YES NO NO
YES YES YES

DTW_SMTP_SERVER:電子郵件 SMTP 伺服器變數

指定使用 DTW_SENDMAIL 內建函數送出電子郵件訊息時使用 SMTP 伺服器。這個變數的值可以是主電腦名稱或是 IP 位址。 如果這個變數沒有被定義,Net.Data 將使用區域主電腦作為 SMTP 伺服器。

語法:

DTW_SMTP_SERVER [=] server_name

其中 server_name 指傳送電子郵件訊息時將使用的 SMTP 伺服器的主電腦名稱或 IP 位址。

效能要訣:指定這個值的 IP 位址, 將防止當取回指定 SMTP 伺服器的 IP 位址時,Net.Data 連接到領域名稱伺服器。

範例:

DTW_SMTP_SERVER us.ibm.com

DTW_UNICODE:Unicode 變數

指定 Net.Data 是否支援下列中的 Unicode:

Net.Data 在巨集、套表資料及內建函數中支援 UTF-8 Unicode 格式, 且輸出恆為 UTF-8。Net.Data 可存取含有 UTF-16 資料的資料庫,然後轉換成 UTF-8。

設定為 UTF8 時,DTW_UNICODE 會指示 Net.Data 在 Unicode 環境下執行。 然後,Net.Data 會以 UTF-8 建立網頁,並且預期任何輸入資料為 UTF-8 格式 (或者,如果是 DB2 資料庫資料,亦接受 UCS-2)。 輸入資料包括巨集檔的內容、從瀏覽器送出的套表資料、 以及來自外部資料來源的其它資料。

DB2 Unicode 資料庫需求︰除了設定 DTW_UNICODE 變數之外,在 Net.Data 的執行環境中,也要將 DB2 專用環境變數 DB2CODEPAGE 設定為 1208。 以 Apache Web 伺服器為例,在 HTTPD.CONF 檔案中新增下列一行︰

SetEnv DB2CODEPAGE 1208

請參閱您的 Web 伺服器文件, 決定如何設定通用閘道介面 Script、Web 伺服器 API、Fast-CGI 程式或 servlets 的環境變數。

Net.Data 在 Unicode 環境中執行時是使用英文訊息型錄。

DTW_UNICODE 架構變數係搭配 DTW_MBMODE 架構變數一起使用。 處理字組和字串內建函數時,DTW_UNICODE 架構變數的值會置換 DTW_MBMODE 變數的設定。 但是,如果 DTW_UNICODE 設定為 NO 或未設定, 則使用 DTW_MBMODE 的值。表 4 描述這兩個變數的設定如何決定內建函數處理字串的方式:

語法:

DTW_UNICODE [=] NO|UTF8

其中:

NO
指定將服從 DTW_MBMODE 變數的值。表 4 會依據 DTW_MBMODE 的值來描述 Net.Data 支援。

UTF8
指定要支援 UTF-8 字碼頁,並忽略 DTW_MBMODE 架構變數的值。 UTF-8 以可變的位元組數代表字元,且在 ASCII 模式顯示時也不會有問題。

DTW_VARIABLE_SCOPE:變數範圍變數

指定 Net.Data 如何對待區域變數範圍:區域變數是否仍是區域, 或區域變數是否可在建立它們的函數區塊外使用。 提供此變數是為了相容於前一版的 Net.Data, OS/390 或 OS/400 版本的 Net.Data 中不提供此變數。

語法:

DTW_VARIABLE_SCOPE = LOCAL|GLOBAL

其中:

LOCAL
指定區域變數仍是區域。這個行為是在 Net.Data 版本 2.0 引進的,且是預設值。

GLOBAL
指定區域變數可在建立它們的函數區塊外使用。 提供此變數是為了相容於舊版的 Net.Data; 建議設定是 LOCAL。


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