问题标签 [vsam]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java 的顺序数据集(如 VSAM)
Java 是否有类似 VSAM 的顺序和/或键值数据集库?我正在考虑从平面文件读取或写入。
java - 如何从 Java 中查询 VSAM 数据?
有没有办法(JDBC、资源适配器等)从 Java 中查询 VSAM 数据?解决方案是否需要在 VSAM 系统上安装某些东西?
如果是 JDBC,允许的 SQL 存在哪些限制?
c# - 使用 C# 编辑 VSAM 文件
我们正在研究更新 VSAM 文件的不同方法。
我们想做的一件事是停止编写任何新的 cobol 代码。
我们想知道是否可以将 VSAM 文件从 Main Frame 下载到 Windows Server,然后使用 C# 程序对其进行编辑,然后将其传输回 Main frame?
有没有人试过这个?
是的,我们正在放弃使用 VSAM,但这需要时间。
mainframe - 是否可以强制删除另一个作业/用户使用的 VSAM 文件?
我们有一个作业,它需要备份 VSAM 文件,然后是同一 VSAM 文件的标准 Delete-Define-Repro。为了处理尝试删除不存在文件的情况,我们遵循标准做法,如果 Delete 返回非零返回码,则将 MAXCC/LASTCC 设置为 0,然后继续该过程,就好像没有错误一样。
但有时我们会面临删除无法正常工作的情况,因为文件被某个用户打开或在其他作业中被读取。在这种情况下,作业失败是因为在定义新的 VSAM 文件时,因为文件已经存在(删除无法清除它)。
这种情况有什么解决方法吗?或者我们可以强制删除一个文件,即使它被其他进程/用户持有?
谢谢阅读!
cobol - 编写从单独的 vsam 文件中提取信息的 Cobol 程序时遇到问题
我有三个 VSAM 文件。一种用于客户、视频和租赁。在这些 VSAM 文件中,每个客户、视频和租赁都有一个 ID。以下是客户文件的示例:
300,鲍勃,315-123-1414
301,瑞恩,315-213-2617
302,史密斯,315-123-1234
303,罗伯塔,212-125-1234
视频文件和租借文件的设置方式相同。
我需要做的是编写一个 cobol 程序来读取这些 VSAM 文件,然后列出客户、视频以及客户租用的视频。我计划通过为每个客户设置一个 ID 号,然后将该 ID 号与租借的视频一起使用来做到这一点。
我到目前为止的cobol代码如下:
下面我添加了 Read 程序,我认为这将帮助您,希望对我有所帮助:
我被卡住了,不知道如何列出所有信息。
谢谢
jcl - 如何使用 IDCAMS 使用批处理 JCL (z/VSE) 进行删除/定义
我有一个在 z/OS 中使用 IDCAMS 删除/定义的示例代码,但我认为它不适用于 z/VSE。有人可以帮我转换吗?创建的文件应该是 VSAM-kSDS。
cobol - 如果我们在输入 ksds 中使用具有动态访问模式的备用键概念,是否可以写入输出 ksds?
我有一个输入 KSDS 文件,我使用 emp-id 作为主键,使用 emp-dept 作为备用键,访问模式为动态。我正在使用基于备用键的动态访问来读取文件,在 runjcl 中我使用的是基本 ksds 文件和 ksds 路径文件,因此通常 cobol 将从路径文件中读取(根据备用键而不是主键进行排序) .
但问题是,当我写入输出 ksds 时,它显示文件状态 21 错误,因为在 ksds 记录中,只有根据主键排序才能插入,那该怎么办?还有其他替代方法吗??
mainframe - 向 VSAM DATASET 添加记录
我对 VSAM 有一些困惑,因为我是新手。请纠正我的错误并解决问题。
一个簇包含控制区域,一个控制区域包含控制间隔。一个控制区间包含一个数据集。现在为了定义一个集群,我们提到了一个数据组件和索引组件。现在我们给出的这个数据组件的名称创建了一个数据集,索引的名称生成了一个键。我的查询如下 -
1)如果我必须在该数据集中添加一条新记录,程序是什么?
2)在控制区域创建新数据集的程序是什么?
3)创建后如何访问数据集和特定记录?
我试图找到一个简单的代码,但无法用一个简单的例子来解释。
mainframe - 无法将字母从物理顺序文件复制到 KSDS 集群
我创建了一个包含一些记录的顺序文件。我必须将它们复制到 KSDS 集群。所以我为它写了一个JCL。当我在我的顺序文件中给出数字时,它正在工作,但是当我给出英文字母时,它不起作用。
这是为什么??
这是我创建 KSDS 集群的代码
这是我从顺序文件复制到 KSDS 集群的代码
我给出的输入是
123456
234567
345678
456789
567891
它们很容易被复制,但是当我给出英文字母时,例如-
abcdefg
cdhert
kjsdfg
qwerty
kjhgfd
这不会被复制到集群中。
请解释为什么?