我試圖使用Connect:Direct NDM到目標服務器(大型機)從本地服務器(具有Mainframe rehosting軟件的Solaris服務器)提交二進制文件,本例中爲Excel文件。如何通過Connect:Direct NDM傳輸二進制文件?
這裏是環境值我設置:
SODETFL "DetailedReport.xls"
SODDETNDM "FIN.REPORT(+1)"
TDCOPTS ":DATATYPE=BINARY:XLATE=NO:STRIP.BLANKS=NO"
這裏是NDM配置使用:
ASSGNDD ddname='SYSIN' type='INSTREAM' << !
SIGNON 00260005
SUBMIT PROC=COPYFILE - 00270005
JOBNAME=JOB00001 - 00280005
PNODE=SERVER001 - 00290005
SNODE=NDMIDS - 00300005
SNODEID=(xxxxxx,xxxxxx) - 00310005
HOLD=NO - 00320005
NOTIFY=CCACTD - 00330005
NODE=, - 00360005
DSN1=${SODDETFL} - 00370005
DSN2=${SODDETNDM} -
DCBINFO='dcb=(dsorg=ps, recfm=vb, lrecl=1504)' - 00385005
DISP1=NEW, - 00390005
DISP2=CATLG,DELETE - 00400005
UNIT=BATCH - 00410005
SYSOPTS=${TDCOPTS} - 00440005
AEFAJOB=PSIAPNB5
SEL PROC WHERE (QUEUE=A) TABLE 00450005
SIGNOFF 00460005
我能夠通過NDM發送文本文件整天都沒有問題那裏。但是,二進制似乎更難一些。當我試着使用上面的配置,我得到以下錯誤:
Completion Code => 8
Message Id => XCPS009I
Short Text => Read buffer too small. Possibly src reclen > dest reclen.
Ckpt=>Y Lkfl=>N Rstr=>N Xlat=>Y Scmp=>N Ecmp=>Y Ecpr=>0.00 CRC=>N Zlvl=>1 win=>13 Zmem=>4
任何人都可以提供一些線索,我怎麼可以去通過NDM提交的二進制文件?
根據該消息,問題可能是excel文件的記錄長度很長,但您試圖將其放入 的數據集具有較短的記錄長度(即1504)。嘗試增加 的記錄長度,使之變得非常大(例如32767),然後重試。 – NealB
有趣。我的XLS文件大約3 MB。什麼是合適的尺寸而不是32767,或者是最好的選擇? – Carlos
剛剛嘗試過,同樣的錯誤。 – Carlos