首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TSO/MVS上传问题

TSO/MVS上传问题
EN

Stack Overflow用户
提问于 2009-02-23 03:43:08
回答 2查看 2.2K关注 0票数 2

我正在上传一个ebcdic文件(从ascii转换)从Windows操作系统到大型机。我的问题是,当我在上传文件后检查它时,我看到了很多新的行。当我尝试用它的十六进制转储检查它时,我发现当主机看到一个x'15‘时,它会把它转换成一个换行符。在文件中有压缩的小数,所以十六进制可以包含字母x'001500001c‘,但当我上传它时,主机将其误认为是新行。有人能帮我解决这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2009-02-23 03:45:05

你应该把你的FTP客户端(或库,如果上传是由你的代码完成)进入二进制(图像类型)模式,而不是ascii/EBCDIC模式,如果你正在发送一个已经在EBCDIC中的文件,我相信。

票数 2
EN

Stack Overflow用户

发布于 2009-02-23 05:05:29

这取决于你上传到的目标“文件”的类型。

如果你上传到一个具有固定块大小的成员(例如,FB80),在你上传它之前,你需要确保所有的行都用空格填充(在二进制模式下)。

文本模式传输不适合二进制文件(如果你的文件包含压缩的十进制数,那么你的文件就是二进制文件-- FTP没有可靠的方法来检测真正的行尾字符)。

您需要修复Windows ASCII- to -EBCDIC转换器才能生成固定长度的记录。

唯一的另一种选择是在大型机上使用REXX脚本,但这仍然需要能够区分真正的行尾标记和二进制数据中的那个标记。

您可以通过以下事实来判断是否存在压缩小数,即它由BCD两个字节组成,其中最后一个是0xC或0xD,但这也可能导致误报或漏报。

我的建议是:当您将其从ASCII转换为EBCDIC时,同时将行填充到所需的记录长度。

我想提出的另一点是,如果您只想查看大型机上的文件(而不是从任何需要EBCDIC的代码中使用它们),ISPF编辑器包含一些新命令(如果我没记错的话,从z/OS1.9开始)。

SOURCE ASCII将以ASCII而不是EBCDIC的形式显示数据。此外,LF命令允许您处理FB成员中的ASCII流,以正确地修复行尾。

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

https://stackoverflow.com/questions/576461

复制
相关文章

相似问题

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