Net.Data 架構變數陳述式設定了架構變數的值。 架構變數有各種不同的用途。 有些變數是語言環境適當運作或在替代模態中操作所必要的。 有些變數控制字元編碼或建構中 Web 首頁的內容。 此外,您可以使用架構變數陳述式來定義應用程式特定變數。
您使用的架構變數視您使用的語言環境、資料庫而定, 同時也視其它僅跟應用程式有關的因素而定。
更新架構變數陳述式:
以您應用程式所需的架構變數來自行設定起始設定檔。架構變數具有下列語法:
NAME[=]value-string
等號是可選用的,以方括弧表示。
下列子段落描述您可以在起始設定檔案中設定的架構變數陳述式:
如果「快取管理程式」不是在 Net.Data 巨集執行的機器上執行, 則使用兩個可選用的架構變數:
如果「快取管理程式」在本端機器上執行, 則使用 UNIX 領域 socket 或具名管線來通信,不需要架構。
「快取管理程式」僅會在 AIX 與 Windows NT 機器上執行。請參閱 Net.Data 快取以了解關於 Net.Data 快取。
語法:
DTW_CACHE_PORT [=] port_number
參數:
表 3 說明選項,對這些變數設定機器 ID 和埠號。
預設「連線管理程式」值 | 如果有設定快取機器... | 如果未設定快取機器... |
如果有設定快取埠... | Net.Data 使用設定的埠連接到設定機器上的「快取管理程式」。 | Net.Data 使用設定的埠連接到本端機器上的「快取管理程式」。 |
如果未設定快取埠... | Net.Data 使用預設埠 7175 連接到設定機器上的「快取管理程式」。 | Net.Data 使用預設埠 7175 連接到本端機器上的「快取管理程式」。 |
語法:
DTW_CACHE_HOST [=] host_name
參數:
設定 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
設定 Net.Data 用於「現場連線」的唯一埠號。
語法:
DTW_CM_PORT [=] port_number
其中 port_number 設定用於「現場連線」的唯一埠號。
使用 DTW_DEFAULT_ERROR_MESSAGE 架構變數, 指定生產應用程式的同屬錯誤訊息。此變數對於任何 MESSAGE 區塊中未擷取到的錯誤狀況, 提供一個同屬的訊息。
如果您仍然想要查看 Net.Data 所產生的實際錯誤訊息, 請使用錯誤訊息記載功能來擷取訊息。關於使用錯誤日誌的相關資訊,請參閱 Net.Data 記錄。
如果未指定架構變數,Net.Data 在錯誤狀況下顯示自己的預設訊息。
語法:
DTW_DEFAULT_ERROR_MESSAGE [=] "message"
範例︰指定同屬的訊息
DTW_DEFAULT_ERROR_MESSAGE "本網站暫時無法使用。"
啟用或停用 Net.Data 直接要求呼叫。依據預設值,將停用直接要求。
呼叫 Net.Data 的直接要求方法容許使用者指定直接在 URL 內執行 SQL 陳述式或 Perl、 REXX 或 C 程式。當停用直接要求時,使用者必須使用巨集要求方法來 Net.Data,如此容許使用者僅執行在巨集中定義或呼叫的那些 SQL 陳述式及函數。請參閱使用 Net.Data 機制,以取得何時使用 DTW_DIRECT_REQUEST 的安全相關建議。
語法:
DTW_DIRECT_REQUEST [=] YES|NO
其中:
在 Net.Data 執行期間,找出某些檔案。安裝時,您會設定此變數來設定 Net.Data 起始目錄 (<inst_dir>), Net.Data 將安裝在這個目錄中。 安裝之後請勿變更這個值。
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_DIR 變數,否則無法記載。
關於這些變數和以 Net.Data 記載錯誤訊息的相關資訊,請參閱記錄 Net.Data 錯誤訊息。
語法:
DTW_LOG_LEVEL [=] off|warning|error
範例: 起始設定檔案架構
DTW_LOG_LEVEL error
對於字組和字串函數啟動國家語言支援。 如果此變數的值是 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
如果此變數設定為 YES,Net.Data 會從 HTML 輸出中移除無關的空格。藉由壓縮空格, 此變數會減少傳送至 Web 瀏覽器的資料量,藉以改進執行效能。 預設值是 NO。
您可以在巨集中使用 DEFINE 陳述式來置換這個變數。
要訣︰如果您使用 DTW_PRINT_HEADER 來建立自己的標頭 (DTW_PRINT_HEADER "NO"),請勿將 DTW_REMOVE_WS 設定為 YES。
語法:
DTW_REMOVE_WS [=] YES|NO
置換您的 Net.Data 巨集內的設定 SHOWSQL 的效果。
語法:
DTW_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_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
指定 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
其中:
指定 Net.Data 如何對待區域變數範圍:區域變數是否仍是區域, 或區域變數是否可在建立它們的函數區塊外使用。 提供此變數是為了相容於前一版的 Net.Data, OS/390 或 OS/400 版本的 Net.Data 中不提供此變數。
語法:
DTW_VARIABLE_SCOPE = LOCAL|GLOBAL
其中: