使用 Python 访问 VSAM 文件?

Posted

技术标签:

【中文标题】使用 Python 访问 VSAM 文件?【英文标题】:Access VSAM file using Python? 【发布时间】:2021-01-07 10:05:17 【问题描述】:

是否可以在 ZOS 中使用 Python 3.8 访问大型机的 VSAM 数据集?我尝试在 python 2.7 中访问 vsam 简单文件,就像 ps 文件一样。这似乎奏效了。当我在 3.8 中尝试相同时。它甚至无法读取简单的 PS 文件数据。 代码:

import codecs                                      
f = open("//'VSAM file name'",'r')  
f1=codecs.getreader('cp1047_oe')(f)                
for line in f1:                                    
    print line,                                    
print (f1)                                         
print ("Read record is :", f)                      
f.close()   

                                   

【问题讨论】:

你得到什么错误信息? 找不到文件 但是大型机中确实存在 vsam 文件。即使这样,错误消息也是“找不到文件”。 【参考方案1】:

为了尝试使用数据集,有一个有用的博客条目概述了该过程: Using IBM Open Enterprise Python for z/OS and ZOAU to Work With Datasets

您需要拥有 zoau 二进制文件以及必须安装 zoautil_py python 包。这些说明可在其KC 的install 部分中找到。

注意:我的版本自博客发布时起发生了变化。我使用的是 zoau 版本V1.1.0,与博客相比,API 调用发生了一些变化,例如zoautil_py.Datasets 现在是 zoautil_py.datasets。最好使用可用的最新稳定版本。

【讨论】:

非常感谢。我将安装 Zoau 实用程序并尝试使用这些选项。如果可行,我会更新。

以上是关于使用 Python 访问 VSAM 文件?的主要内容,如果未能解决你的问题,请参考以下文章

使用 TSQ 浏览 VSAM 文件和 DB2 表

是否可以强制删除另一个作业/用户使用的 VSAM 文件?

使用 Java JDBC 写入时 VSAM 文件锁定

JCL,我需要将我的 VSAM 文件引入我的 cobol 使用的 DD 语句是啥

当GraphQL遇到VSAM

在 VSAM 文件上打印报告