我需要帮助来做一些我想做的事情,但在任何地方都找不到帮助。
我正在尝试通过ISPF(ISPF ->命令->"将文件发送到主机")将文件上传到主机。我遇到的问题是该文件的长度是可变的(它是通过 SH 脚本从 DB2 数据库导出的),并且它不能很好地工作。
我的意思是:在窗口中,该文件如下所示:
This is line one
This is the second line
And this is the third
但是在 Host 中,它总是这样结束:
This is line one This is
the second line and this
is the third
或类似,具体取决于我在分配数据集时设置的"记录长度"。
我不知道问题是否在于我如何在主机上创建文件。如果问题出在发送参数上。或者可能与 TXT 文件有关。
我尝试使用不同的记录格式(F,FB,V,VB)创建数据集,并且所有格式都相同。并且还尝试在此处修改发送参数:发送参数
并检查了txt文件,但似乎还可以。
好吧,提前感谢您的帮助! 对不起,我的英语很差。
更新 03/18
你好!我仍在尝试解决这个问题。但是现在我有了更多信息!
问题似乎出在导出的文件内,而不是终端的配置。
我正在使用 linux 脚本从 DB2 数据库导出文件,并尝试从 Windows PC(具有 E3270 终端)上传该文件。我读了很多书,注意到从DB2导出到linux的文件只使用"换行符"代码来标记行尾(十六进制中的0A),而Windows使用"回车+新行"(十六进制中的"0D 0A")。
问题可能在那里吗?
我尝试使用 Windows 创建一个新的 txt 文件(每行以 0D 0A 结尾).. 效果很好!但是我试图修改导出的文件。在末尾添加一个"空格",然后用 20D 更改该空格十六进制 (0)(所以我有 0D 0A..它不允许我"添加"新的六边形)。但它没有用。那。。把我整个理论扔掉哈哈,但也许我做错了什么。
嗯,谢谢!
从主机输出来看,文件(数据集)被视为固定长度 24。需要在发送中将其指定为变量 (VB)。
从这里 个人通信 6.0.0>产品文档>书籍>模拟器 用户参考>传输文件 看来您可以按照以下方式指定:-
记录格式
仅当未指定 APPEND 时,对虚拟机/CMS 和 MVS/TSO 有效 文件传输。您可以选择以下任一选项:
Default Fixed (fixed length) Variable (variable length) Undefined (undefined mode for MVS/TSO only)
如果选择默认值,则选择记录格式 由主机系统自动执行。
为虚拟机文件传输指定变量可使主机磁盘空间 有效利用。逻辑记录长度 (LRECL)
仅当未指定 APPEND 时,对虚拟机/CMS 和 MVS/TSO 有效 文件传输。
输入要使用的逻辑记录长度(主机记录字节计数) LRECL 文本框。如果变量和未定义模式指定为 记录格式,逻辑记录长度为最大记录 文件中的长度。最大值为 32767。
从工作站发送到主机系统的文件的记录长度 可能会超过此处指定的逻辑记录长度。如果是这样,主机 文件传输程序将文件除以逻辑记录长度。
将文本文件从工作站发送到主机时,如果文本 文件包含2字节工作站代码(如汉字代码),该 文件的记录长度已更改,因为 SO 和 SI 已 插入。
要将包含长记录的文件发送到主机系统,请指定 足够长的逻辑记录长度。
因为工作站文件的记录长度超过了逻辑 记录长度,如果每条记录 划分。要显示消息,请将以下规范添加到 工作站配置文件的[转移]项:
显示截断消息 = Y
由于我无法访问,因此我实际上无法进一步研究这个问题,但我确实记得使用文件传输可能会有点令人困惑。
我建议使用 32767 作为 LRECL,以及变量,也许可以查看已链接的整个页面。PC 端的某些东西必须知道如何转换文件(即在 LF 确定记录的长度并用该记录长度作为记录前缀(如果我没记错的话,2 字节/一个单词)),因此您可能必须将变量与另一个可选参数结合使用。
如果您点击链接,您将看到记录格式是定义传输类型的一部分,您可能需要按照以下方式定义传输类型:-
Click Edit -> Preferences -> Transfer from the session window. Click the tab for your host type or modem protocol. The property page for the selected host or modem protocol opens. The items that appear depend on the selected host system. Enter transfer-type names in the Transfer Type box, or select them from the drop-down list. Select or enter the required items (see Items to Be Specified). To add or replace a transfer type, click Save. To delete a transfer type, click Delete. A dialog box displays, asking for confirmation. Click OK.