首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ISPF/大型机将文件发送到可变长度主机

ISPF/大型机将文件发送到可变长度主机
EN

Stack Overflow用户
提问于 2016-03-14 18:45:38
回答 1查看 1.3K关注 0票数 0

我需要帮助,我想做的事,但找不到任何地方的帮助。

我试图通过ISPF上传一个文件到主机(ISPF ->命令->“发送文件到主机”)。我遇到的问题是,文件的长度是可变的(它是通过SH脚本从DB2数据库导出的),而且不能正常工作。

我的意思是:在windows中,文件看起来如下:

代码语言:javascript
复制
This is line one
This is the second line
And this is the third

但在主办国,结局总是这样:

代码语言:javascript
复制
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 (有E3270终端)上传文件。我读了很多,并注意到从DB2导出到linux的文件只使用"New“代码来标记行的末尾(十六进制中的0A),而Windows则使用”运载返回+新行“(在十六进制中是”0D0A“)。

问题会在那里吗?

我尝试用Windows创建一个新的txt文件(每一行末尾都是0D0A)。而且效果很好!但是我试图修改导出的文件。在末尾添加一个“空格”,然后用0D改变空间十六进制(20) (所以我有0D0A。)它没有让我“添加”一个新的十六进制)。但没起作用。那..。抛弃我所有的理论,哈哈,但也许我做错了什么。

好吧,谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-03-14 23:13:23

从主机输出中,文件(数据集)被视为固定长度为24。它需要在发送中指定为变量(VB)。

从这里Personal Communications 6.0.0>Product Documentation>Books>Emulator User's Reference>Transferring Files看来,您可以指定如下:-

记录格式 仅对VM/CMS和MVS/TSO有效,当追加未指定用于文件传输时。您可以选择下列任何一种: 默认固定(固定长度)变量(可变长度)未定义(仅用于MVS/TSO的未定义模式) 如果选择默认值,则由主机系统自动选择记录格式。 为VM文件传输指定变量可以有效地使用主机磁盘空间。逻辑记录长度(LRECL) 仅对VM/CMS和MVS/TSO有效,当追加未指定用于文件传输时。 在LRECL文本框中输入要使用的逻辑记录长度(主机记录字节计数)。如果变量和未定义模式指定为记录格式,则逻辑记录长度是文件中的最大记录长度。最大值为32767。 从工作站发送到主机系统的文件的记录长度可能超过此处指定的逻辑记录长度。如果是这样,主机文件传输程序将文件除以逻辑记录长度。 当将文本文件从工作站发送到主机时,如果文本文件包含2字节工作站代码(如kanji代码),则文件的记录长度会更改,因为SO和SI已被插入。 若要向主机系统发送包含长记录的文件,请指定足够长的逻辑记录长度。 由于工作站文件的记录长度超过逻辑记录长度,因此如果每个记录被分割,则不会正常显示消息。若要显示消息,请向工作站配置文件的传输项添加以下规范: DisplayTruncateMessage =Y

由于我没有访问权限,所以我无法进一步研究这个问题,但我确实记得,使用文件传输可能有点混乱。

我建议使用32767作为LRECL,以及变量,并可能查看链接的整个页面。PC端的一些内容必须知道如何转换文件(即在LF处确定记录的长度,并在记录长度前加上该记录长度(如果我正确地回忆起2个字节/一个单词)),因此您可能需要结合另一个可选参数使用变量

如果按照链接操作,您将看到记录格式是定义传输类型的一部分,您可能必须定义如下所示的传输类型:-

单击“从会话窗口编辑->首选项->传输”。单击主机类型或调制解调器协议的选项卡。打开所选主机或调制解调器协议的属性页。出现的项取决于选定的主机系统。在“传输类型”框中输入传输类型名称,或从下拉列表中选择它们。选择或输入所需的项(请参阅要指定的项)。若要添加或替换传输类型,请单击“保存”。若要删除传输类型,请单击“删除”。将显示一个对话框,要求确认。单击OK。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35995585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档