我对VSAM有一些困惑,因为我是新手。请纠正我的错误并解决查询。
集群包含控制区域,控制区域包含控制间隔。一个控制间隔包含一个数据集。现在,对于定义集群,我们提到了数据组件和索引组件。现在,我们给出的数据组件的名称创建了一个数据集,索引的名称生成了一个键。我的查询如下-
1) 如果我必须在该数据集中添加新记录,程序是什么
2) 在控制区创建新数据集的过程是什么
3) 创建数据集和特定记录后,如何访问它们
我试着找到一个简单的代码,但无法用简单的例子来解释。
有一件事会对您有所帮助,那就是IBM红皮书VSAM解密:http://www.redbooks.ibm.com/abstracts/sg246105.html如今,你甚至可以通过其他几种方式使用智能手机。
然而,你目前的理解有点错误,所以你需要先放弃所有的理解。
VSAM文件有三种主要类型,初学者可能只会遇到其中两种:KSDS;ESDS。
KSDS是一个键序列数据集(一个索引文件),ESDS是一种条目序列数据集中(一个序列文件,但不是"平面"文件)。
当您编写COBOL程序时,使用ESDS和平面/PS/QSAM文件之间几乎没有区别,使用KSDS时甚至没有太大区别。
我不想提供一个例子,而是让您参考《企业COBOL编程指南》中关于COBOL版本的章节,这是您想要的第10章,直到并包括关于处理错误的部分,该出版物可以在这里找到:http://www-01.ibm.com/support/docview.wss?uid=swg27036733,您还可以使用语言参考来了解VSAM的详细信息,一旦您更好地了解了它对COBOL的意义。
作为一名初级程序员,你不必担心VSAM数据集的结构。然而,你已经接触了一些这个主题,但却走错了方向。
VSAM数据集本身只能存在于磁盘上(我们通常称之为DASD)。它们可以备份到非DASD,但只能直接在DASD上使用。
它们由控制区(CA)组成,您可以将其视为DASD的一块,并且几乎完全是DASD的块将是一个圆柱体(3390上的30个磁道(现在很可能是模仿3390的)。您不需要了解更多关于CA的信息。CA更多的是一种概念性的东西,而不是一种实际的物理东西。
控制间隔(CI)是任何数据(包括索引数据)所在的位置。CI位于CA中。
记录,即COBOL程序中FD下的FILE SECTION中的内容,将存在于CI中。
COBOL程序需要对VSAM数据集的结构一无所知。COBOL使用VSAM访问方法服务(AMS)进行所有VSAM文件访问,就COBOL程序而言,它是一个"索引"文件,SELECT语句中有一点表示它是VSAM文件。或者是一个有点。。。你现在知道了。