更新时间:2023-06-11 08:59
DDM是一个控制远程文件处理的体系结构,它是OS/400操作系统的一部分。DDM支持一台AS/400运行应用程序,去访问另一台AS/400所存贮的数据文件。简单地说,另一个系统利用DDM能访问本地AS/400系统的数据库文件。DDM使分布在两个或多个系统中的文件处理变得容易。 DDM允许应用程序或用户访问远程系统中的数据文件,也允许远程系统访问本地系统中的数据文件。利用DDM可以对远程文件的记录进行读、添加、修改、删除等操作,本地用户或应用程序就好像觉得这个远程文件是在本地系统上应用。 应用程序或用户向远程文件提出DDM请求的这个系统称之为源系统。一个系统接收以上的请求叫做目标系统。一个系统既可是源系统也可是目标系统。
运用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还没有一个好的方案去解决如何从目标系统传送大量的数据到源系统中。