星期三, 11月 01, 2023

2001-12-19 如何自動增加 DataBase Phyiscal File Size ?

如何自動增加 DataBase Phyiscal File Size ?

當使用者執行應用程式時,有時會遇到一個訊息"Record not added. Member FILENAME is full. (C I 9999)" ,
由於系統在產生資料庫檔案(Physical File)時,有參數 SIZE 預設值如下:


 Member size:                     SIZE                       
   Initial number of records  . .                10000       
   Increment number of records  .                1000        
   Maximum increments . . . . . .                3           
                                                             

您可在在產生資料庫檔案(Physical File)時,指定資料庫檔案(Physical File)的
初始筆數(Initial number of records),
當資料筆數到達初始筆數時,系統會依增加筆數容量(Increment number of records)自動增加,
系統同時紀錄可自動增加的次數是否到達所指定的最大增加次數(Maximum increments),

以預設值為例,預設資料筆數為 10000 筆,當資料到達 10000 筆時,系統會自動增加 1000 筆容量,
但自動增加的次數為 3 次,所以該資料庫檔案(Physical File)的最大容量為 13000 筆資料,當您的資料到達
13000 筆時,要再新增資料時系統就會發出"Record not added. Member FILENAME is full. (C I 9999)"訊息
,此時就需回覆此訊息 Cancel , Ignor , 0-9999
Cancel 取消
Ingore 忽略
0-9999 設定自動增加次數

當您回覆 Cancel 或 Ignore 時您的應用程式均無法繼續正常執行,要讓使用者繼續執行就必須回覆 0 - 9999
之間的值,以讓系統自動增加資料庫檔案(Physical File)的筆數。

當您回覆 Cancel 或 Ignore 時您亦可終止應用程式,並用 CHGPF 更改資料庫檔案(Physical File)的 SIZE 參數。

那要如何避免系統因為此種需擴大資料庫檔案(Physical File)的筆數而導致程式中斷的情形呢?

可使用系統自動回覆訊息功能,設定該訊息自動回覆如下:

下指令

WRKRPYLE 及 新增一個 message id CPA5305 自動回覆訊息

ADDRPYLE SEQNBR(100) MSGID(CPA5305) RPY(9999)

9999 為自動增加的次數,您可依需求設定一個適當值

使用此方法時,要注意若您的應用程式設計不當像新增資料時有無窮迴圈時,您的硬碟空間有被耗盡的可能,
而導致系統當機。



沒有留言: