通过connect direct将文件从UNIX发送到大型机

通过connect direct将文件从UNIX发送到大型机,unix,file-transfer,mainframe,transmission,Unix,File Transfer,Mainframe,Transmission,我正在通过connect direct将文件从UNIX发送到大型机服务器。我能够成功上载该文件。在目标主机上,当接收到该文件时,该文件不可读,并且格式与我从UNIX服务器发送的格式不同 下面是传输作业 Direct> Enter a ';' at the end of a command to submit it. Type 'quit;' to exit CLI. submit maxdelay=unlimited TINIRS process snode=b

我正在通过connect direct将文件从UNIX发送到大型机服务器。我能够成功上载该文件。在目标主机上,当接收到该文件时,该文件不可读,并且格式与我从UNIX服务器发送的格式不同

下面是传输作业

Direct> Enter a ';' at the end of a command to submit it. Type 'quit;' to exit CLI.

        submit maxdelay=unlimited TINIRS   process    snode=b1ap005
                       TRANSMIT   copy from  (file=myFile.txt
                                              pnode
                                              sysopts=":datatype=text"
                                             )
                                             ckpt=1k
                                       to    (file=myFile.txt(+1)
                                              snode
                                              DCB=(DSORG=PS,RECFM=VB,LRECL=1500)
                                              disp=(new)
                                             )
         pend ; 

请让我知道需要更新DCB值。我正在发送的文件有3条长度可变的记录,记录的最大长度为1500条。

实际上,这看起来几乎正确。但是,如果您的最大记录长度是1500个字符(不包括行尾的NL),那么您的LRECL至少应该是1504。但不要吝啬于最大值——更大的值(高达32767)没有成本或惩罚。NealB是正确的-如果这是一个文本文件,您可能需要指定一个字符集转换-但我不知道如何在CONNECT:Direct中实现。当使用DATATYPE=text时,C:D会自动将ascii转换为EBCDIC。如果是肯定的,您可能希望使用“:datatype=text:xlate=yes:”

我不确定这是编程问题。你可能想要一个错误。您可以“标记”您自己的问题以引起主持人的注意,要求将其移动。您需要对ASCII/EBCDIC字符转换做些什么吗?在Unix端,
dd
处理ASCII:EBCDIC-因此您可以在发送之前相当容易地重新格式化文件。哦,如果有那么简单的话:-)有许多EBCDIC代码页,你真的需要知道你说的是哪一个。几年前,我因为这个问题掉了很多头发:-)