處理程序
運用DDM,被打開的文件不在本地系統中,被建立的DDM文件指向文件所在的遠程系統。這時程序:
1) 發布正常文件打開請求
2) 數據庫管理程序發現這個文件是DDM文件
3) 源分布式數據管理程序(SDDM)被請求
4) 向遠程系統發送啟動程序的請求
5) 在遠程系統中啟動目标分布式數據管理程序(TDDM)
6) TDDM需求正常的數據庫管理程序來打開目标程序的文件
7) TDDM通知SDDM操作成功
8) SDDM通知程序,文件已被成功打開
9) 一旦文件被打開,SDDM發送每一個文件操作請求給TDDM。SDDM和TDDM在應用程序和遠程文件之間互相交換數據。
程序限制
利用DDM,用戶可以對遠程文件執行許多标準操作。例如:用戶可通過DDM對遠程文件進行分配,打開,關閉,讀,更新,或者删除。
對一些功能或者CL命令有一些特定的限制。對DDM的限制通常包括以下幾點:
1) 遠程文件不能通過DDM文件被存貯或恢複。
2) 當等待一個數據庫文件或記錄操作時,遠程系統上的WAITFILE/WAITRCD參數規定了等待的時間值。當利用DDM去訪問遠程的文件或記錄時,延遲時間會被統計。所以當使用DDM去訪問遠程文件時,等待時間參數必須進行調整。
3) DDM文件支持通信控制,然而源DDM系統不支持對DDM文件的日志管理(Journal),但是遠程文件必須在目标系統中進行日志。
在AS/400中支持DDM的程序語言有:COBOL/400、RPG/400、AS/400BASIC、AS/400PLI、C/400、RORTRAN/400、CL。另有一些實用功能和工具軟件也支持DDM:DataFileutility、Sort(排序)、OPNQRYF(openQueryfile)打開查詢文件命令、officeVision/400、PCSupport/400。
許多常規文件操作也支持這項産品,但一些限制如下所列:
² 如果在OPNQRYF命令中特定了多遠程文件,它們必須都在相同的目标系統中,并有相同的遠程位置信息。
² officeVision/400在特定的情況下支持DDM文件,它們是:
– 在PRTDOC(Printdocument)命令中,如果OUTFILE(FiletoReceiveoutput)參數被定義,或者輸出設備文件在OPTIONS(Displayprintoptions)參數上被設定,那麼可以使用DDM文件
– OfficeVision/400字處理中的獲取圖形功能,允許源數據和圖形數據通過DDM文件被補救回來。
² PCSupport/400中的CPYFRMPCD命令,在目标系統中不能建立遠程文件。因為PCSupport/400使用和OPNQRYF相同的基本(underlying)系統,一些對于OPNQRYF的限制同樣也對CPYFRMPCD(copyfromPCdocument)命令進行限制。
注意:一些AS/400産品對DDM文件不支持,例:SQL,SEU,AS/400Query,SDA等。
建立文件
用CRTDDMF命令來建立DDM文件,指向遠程系統中的數據庫文件。其中遠程位置(RemoteLocation)參數的值是指有真實文件存在的系統。通過DDM可以訪問以下一些遠程系統中文件類型:物理文件、邏輯文件、源文件、以及以上文件的成員、文件夾。CRTDDMF命令中的RemoteFile項下有參數File,它的可選值*NONSTD(NonStandard)代表非标準文件。
例:建立标準文件
CRTDDMFFILE(xxx)RMTFILE(LIB/FILE)RMTLOCNAME(xxx)
例:建立AS/400文件成員
CRTDDMFFILE(xx)RMTFILE(*NONSTD‘LIB/FILE(MBR)’)
RMTLOCNAME(xxx)
例:建立不同命名規則的系統
CRTDDMF(xxx)RMTFILE(*NONSTD‘FILE.LIB’)
例:建立文件夾信息系統
CRTDDMFFILE(xxx)RMTFILE(*NONSTD‘Path1/Path2/Path3/DOC1
Fms’)
其它的CL命令如DSPDDMF,CHGDDMF和WRKDDMF能顯示、改變DDM文件。WRKDDMF命令允許用戶通過DDM文件列表顯示對已存在的DDM文件進行操作,如:修改,删除,顯示或創建DDM文件。
DDM文件能在源系統中熟練地使用許多标準的CL命令。例如:移動(move),保存(save),恢複(restore)和重命名(rename)等,在這些命令中參數system被定義為*RMT和*LCL。目标系統中也能使用CL命令:如CPYF(COPYFile),RGZPFM(reorganizephysicalfilemember),DSPFFD(displayfilefielddescription)命令,在這些命令中參數system定義為(*RMT)。
有一些操作在DDM文件中是可供選擇的。例如:利用DDM文件可将一文件從一系統拷貝到另一個系統中、SNADS(SNADistributionServices)、FTS(fileTransferSubroutines)、用戶寫的APPC程序或者NetuiewFileTransferProgram/400。如果數據轉移的量非常大,那麼DDM就不能成為一個可選擇的物質了。
PCSupport/400轉移功能(請求來自PC)和PCSupport/400拷貝命令(請求來自AS/400)能夠從遠程的AS/400文件PC中轉移數據,或者轉移數據到遠程的AS/400文件。PCSupport/400還能夠訪問PC中的AS/400文件夾和文件。可通過DDM/PC這個産品訪問AS/400文件記錄,DDM/PC隻運行在DOS環境下。
用戶可使用SBMRMTCMD(SubmitRemotecommand)CL命令實行遠程的AS/400系統命令。SBMRMTCMD在DDM文件中的RMTFICE參數可忽略。SBMRMTCMD還可以在沒有SYSTEM參數的情況下使用。如果CL命令中有SYSTEM命令,遠程操作可以通過SBMRMTCMD命令或用CL命令定義SYSTEM為*RMT來完成。
例:SBMRMTCMD
CMD(‘CRTPFL1B2/FILE2’)CRTPFL1B2/FILE2
DDMFILE(FILE1)
通信路徑
通過APPC的支持,目标源系統的DDM的通信部分建立通信路徑。通過DDM需求遠程位置名,當遠程系統接收到程序的啟動需求時,DDM會話(conversation)被建立。
SDDM作業中DDMCNV屬性默認值為*keep,表示當數據庫管理程序關閉目标系統的文件時,對話仍保持活動(active)狀态。DDM可以頻繁使用,SDDM和TDDM可不需重啟。如果DDM不經常使用,可将作業屬性改為*DROP。RCLDDMCNV(reclaimDDMconversation)命令可以對當前作業中未使用的DDM會話進行釋放。
在DDM中必須注意安全性。DDM在目标系統和源系統中都有LOCPWD(locationpassword)、SECURE(Securelocation)參數可進行設置。
DDM提供在同等網絡中的分布式數據庫接口。網絡上的用戶可以訪問網上某台系統上的數據庫。利用DDM支持,應用程序勿需改變,即可實現網絡數據庫的訪問。
DDM是個非常有用的遠程文件訪問工具。但是它還是有一些缺點如:DDM還沒有一個好的方案去解決如何從目标系統傳送大量的數據到源系統中。