找到 1660 篇文章 关于大数据分析

在 DB2 程序中进行非 SQL 更改时,不使用 BIND 的执行结果是什么?

Mandalika
更新于 2020 年 9 月 11 日 12:15:33

271 次浏览

在每次执行 COBOL-DB2 程序时,都会比较加载模块和包/DBRM 的时间戳。如果程序中变量的长度发生了变化(并且没有 SQL 更改)并且已编译,则加载模块将具有新生成的时间戳,另一方面,如果未执行 BIND,则包/DBRM 将具有旧的时间戳。当执行此程序时,调用此程序的 JCL 步骤将因 SQL 错误代码 -818 而失败。如果我们有一个 COBOL-DB2 程序,其 SQL 语句永远不会更改在 ... 阅读更多

如果 DBRM 和加载模块的时间戳不匹配,结果会怎样?

Mandalika
更新于 2020 年 12 月 1 日 04:57:26

659 次浏览

当 COBOL-DB2 源代码作为预编译阶段的输入时,我们会得到两个重要的组件——DBRM 和修改后的源代码。在修改后的源代码中,SQL 语句被替换为 COBOL 调用,而 DBRM 包含 COBOL-DB2 程序中存在的所有 SQL 语句。预编译器在 DBRM 和修改后的源代码中都插入时间戳。如果 DBRM 直接绑定到计划,则在执行 COBOL-DB2 程序时,系统会比较 DBRM 和加载模块的时间戳。如果时间戳不匹配,则 JCL 步骤 ... 阅读更多

如果 DB2 程序在不同的日期编译和绑定,执行结果是什么?

Mandalika
更新于 2020 年 9 月 11 日 12:12:19

124 次浏览

程序将成功运行(除非程序中存在逻辑错误),因为时间戳是在预编译期间插入 DBRM 中的,并且预编译是在编译步骤之前完成的。因此,DBRM 和加载模块将具有相同的时间戳。插入 DBRM 中的时间戳还会传递到包中。因此,如果我们使用 DBRM-包-计划组合,在这种情况下,程序也将成功运行,因为整个过程中的时间戳保持一致。

当 DB2 子程序发生更改时,是否需要将其与程序一起绑定?

Mandalika
更新于 2020 年 9 月 11 日 12:07:32

698 次浏览

当任何 COBOL-DB2 程序预编译时,当前时间戳会插入 DBRM 中,如果 DBRM 绑定到包,则时间戳会进一步复制到包中。类似地,在编译过程中也会在加载模块中插入时间戳。当执行任何 COBOL-DB2 程序时,系统会将加载模块的时间戳与 DBRM/包中的时间戳进行匹配,如果存在不匹配,则程序将失败。如果 DBRM 直接绑定到计划,即使只有子程序经过了 ... 阅读更多

如何将 DBRM 绑定到包中,并将包绑定到计划中?

Mandalika
更新于 2020 年 9 月 11 日 12:03:38

3K+ 次浏览

DBRM 可以直接绑定到计划,或者我们可以先将 DBRM 绑定到包中,然后将该包绑定到计划中。如果 DBRM 直接绑定到计划,如果源代码发生某些更改,则必须生成新的 DBRM,然后我们必须再次绑定整个计划。由于计划包含多个 DBRM,因此系统将再次处理所有 DBRM 以绑定该计划(即使其他 DBRM 没有经过任何更改)。此过程需要大量资源,例如内存、处理器和宝贵的 ... 阅读更多

如何将 DBRM 直接绑定到计划中?

Mandalika
更新于 2020 年 9 月 11 日 11:56:40

589 次浏览

DBRM 是从源代码预编译生成的 DB2 对象。它包含源代码中的所有 SQL 语句/查询。由于 DBRM 的格式,无法直接执行它,因此必须先将其绑定到计划中。可以将多个 DBRM 绑定到单个计划中。每当源代码发生更改时,必须使用更改的 SQL 语句/查询重新生成相应的 DBRM。然后必须重新绑定包含旧 DBRM 的整个计划。使用以下 JCL 步骤,我们可以将 DBRM 直接绑定到 ... 阅读更多

如何预编译 COBOL-DB2 程序?

Mandalika
更新于 2020 年 9 月 11 日 11:49:13

4K+ 次浏览

预编译是将 COBOL-DB2 程序中使用的 SQL 语句替换为适当的 COBOL 调用的过程。在实际编译之前,预编译是必要的,因为 COBOL 编译器无法识别 DB2 SQL 语句,并且会因它们而引发错误。DB2 实用程序 DSNHPC 用于预编译。预编译 JCL 步骤的输入是用于 COBOL-DB2 程序中使用的相应表的 DCLGEN(在 SYSLIB 中)和 COBOL-DB2 源程序(在 SYSIN 中)。//STEP010 EXEC PGM=IKJEFT01 //SYSIN DD DSN=DIS.TEST.COBOL(PSNEW2), DISP=SHR //SYSLIB DD DSN=DIS.TEST.DCLGEN(PSDC2), DISP=SHR //DBRMLIB DD DSN=DIS.TEST.DBRMLIB(PSNEW2), DISP=SHR //SYSCIN DD DSN=DIS.TEST.COBL(PSCOB2), DISP=(NEW, CATLG, DEL), SPACE=(20, ... 阅读更多

如何将集合 COLLA 中的所有包绑定到计划 PLANA?

Mandalika
更新于 2020 年 9 月 11 日 11:46:03

1K+ 次浏览

包是数据库对象,其中包含来自 DBRM 的 SQL 语句,以 DB2 优化的形式。集合是一组包,我们可以使用它来隔离属于不同应用程序的 DB2 包。例如,在电信公司的生产环境中,我们可以为订单处理、计费和客户服务设置不同的集合。包或包组(集合)绑定到计划中。计划是一个可执行对象,其中包含其中的所有 SQL 查询的 DB2 访问路径。我们可以将包直接绑定到计划中,或者可以 ... 阅读更多

如何执行计划 PLANA 的 COBOL-DB2 程序 PROGA?

Mandalika
更新于 2020 年 9 月 11 日 11:41:41

3K+ 次浏览

COBOL-DB2 程序可以在 IKJEFT01 的帮助下执行。IKJEFT01 是一个内置的主机实用程序,允许我们通过作业控制语言 (JCL) 运行 z/OS TSO 命令。如果我们想执行计划 PLANA 的 COBOL-DB2 程序 PROGA,我们必须提供如下 JCL 步骤。//STEP010 EXEC PGM=IKJEFT01 //STEPLIB DD DSN=DIS.TEST.LOADLIB, DISP=SHR //SYSOUT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(TB3) RUN PROGRAM (PROGA) PLAN(PLANA) END /*在上面的 JCL 步骤中,我们首先使用了 IKJEFT01 实用程序来调用 COBOL-DB2 程序。程序 PROGA 的 loadlib 路径位于 STEPLIB 中,即 DIS.TEST.LOADLIB,并且 ... 阅读更多

MongoDB 聚合组多个结果?

AmitDiwan
更新于 2020 年 7 月 1 日 07:03:26

658 次浏览

要聚合多个结果,请在 MongoDB 中使用 $group。让我们创建一个包含文档的集合 -> db.demo765.insertOne( ... ...    { ...       Name:"John", ...       "Category":"ComputerScience", ...       "SubjectName":"MongoDB", ...       "Marks":75 ...    } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5eb054525637cd592b2a4b01") } > > db.demo765.insertOne( ...    { ...       Name:"John", ...       "Category":"ComputerScience", ...       "SubjectName":"MySQL", ...       "Marks":85 ...    } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5eb054525637cd592b2a4b02") } > db.demo765.insertOne( ... ... 阅读更多

广告