使用 TSQ 浏览 VSAM 文件和 DB2 表
Posted
技术标签:
【中文标题】使用 TSQ 浏览 VSAM 文件和 DB2 表【英文标题】:Browsing VSAM files and DB2 tables using TSQ 【发布时间】:2021-10-19 17:04:49 【问题描述】:我正在寻找在 CICS 中浏览 VSAM 记录和 DB2 表的更好方法。我正在练习的当前方法是使用 readnext/prev 浏览 VSAM 文件并使用游标浏览 DB2 表。浏览文件/表格时如何使用 TSQ?我的示例应用程序都具有写入 VSAM 文件/插入 DB2 表和浏览它们的功能。
【问题讨论】:
当我浏览文件/表格时使用 TSQ 是什么意思? TSQ 只是一个临时存储队列,因此您可以从中读取/写入和浏览数据。 如果我正在浏览 vsam 文件/db2 表,而其他人正在写入 vsam/插入到 db2 表。新添加的记录会在我浏览的同时出现吗? 所以TSQ和这个问题没有任何关系。我建议删除该评论,因为它会混淆您正在寻找的内容。 【参考方案1】:如果我正在浏览 vsam 文件/db2 表而其他人正在浏览 写入 vsam/插入 db2 表。请问新添加的记录 在我同时浏览时出现?
这取决于。从 VSAM 的角度来看,您的 CICS 任务将在 VSAM 文件中占有一席之地。您可能无法看到新插入的记录,直到它们被原始任务提交。您查看插入记录的能力将取决于您的任务和其他任务如何访问 VSAM 文件。只要所有 CICS 访问都发生在单个 CICS 区域中,无论是独立区域还是文件拥有区域(又名 FOR),那么任何访问该文件的 CICS 任务都将能够看到已提交的新记录。
如果任务在多个 CICS 区域中运行而不使用 FOR,则需要在所有区域中以 RLS 模式打开文件以保持文件内容的完整性。
对非 RLS 文件的批量更新/插入可能会导致与尝试从两个 CICS 区域更新非 RLS 文件类似的问题。
【讨论】:
【参考方案2】:您的问题是关于使用 TSQ,但我相信您在问如何查看临时存储队列的内容。
CICS 提供了一个事务CEBR
用于浏览临时存储队列 (TSQ)。
CEBR 的文档可以在here找到
【讨论】:
以上是关于使用 TSQ 浏览 VSAM 文件和 DB2 表的主要内容,如果未能解决你的问题,请参考以下文章