【发布时间】:2015-08-14 08:28:23
【问题描述】:
可变长度 QSAM 记录的最大记录长度为 32,760 字节。
我们文件的当前记录长度对我们来说是可以的,但为了处理更多信息,我们必须扩展此文件,使其长度超过 32K (LRECL > 32760)。
拆分记录对我们来说不是一个好的选择,因为它会影响我们现有的系统。
我不确定在这里使用带有 VSAM 的 SPANNED 记录是否可以解决这个问题。
//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DEFINE CLUSTER (NAME(dsname.K1719) INDEXED VOLUMES(xxxxxx) -
TRACKS(1) KEYS(17 19) RECORDSIZE(40 110) SPANNED) -
DATA (NAME(dsname.K1719.DATA)) INDEX (NAME(dsname.K1719.INDEX))
/*
//
这会解决我们的问题吗?
【问题讨论】:
-
我假设最大块长度为 32k,而不是最大文件(或数据集)长度为 32k;你也试过看看会发生什么???
-
这是愚蠢的(因为浪费了 DASD 超过 27998 块大小。有人为这个错误付出了代价,大概不是你。是的,VSAM 中的 SPANNED 将允许你一些相当大的记录。当然,额外的 CPU、额外的 IO (EXCPS) 和额外的存储会产生开销。所有成本。取决于你使用它的糟糕程度,以及你使用它的方式,可能会更长的运行时间。嘿,如果你觉得这是一种简单的方法,客户不介意为您最初糟糕的设计支付更多的费用,日复一日,然后去做吧。
-
最初的“设计”把你挖成了一个大整体。你可以侧身一点,但不修好设计就出不来。最容易做的事情是继续挖掘,并希望客户不介意增加成本,然后发现他们一直在支付的费用。显然我不建议这样做。
-
我同意比尔的观点,您需要查看文件的设计。如果涉及到很多程序,您就会发现为什么拥有一个访问复杂文件的“文件驱动程序”程序通常是个好主意,即应用程序-->文件-驱动程序-程序- ->文件。
-
@BillWoodger 思想大同小异,傻瓜永远不会不同;任你选