【问题标题】:How can you run a stored procedure from an IBM command line?如何从 IBM 命令行运行存储过程?
【发布时间】:2016-09-05 12:52:00
【问题描述】:

我正在尝试找到一种从 IBM AS400 命令行运行存储过程的方法,以便我可以将其输入到 ADDJOBSCDE 条目并安排它在夜间运行。我认为这很简单——错了!! :)

我的过程已经创建,它不需要输入参数。它在图书馆 JENNYB 中,名为 P_CD020AUDIT。我可以从“运行 SQL 脚本”调用它没问题,它运行成功。但是我不想每天早上 1 点都这样做,所以我需要一种方法来安排它。

我在这里找到了这篇文章: http://archive.midrange.com/midrange-l/200907/msg00293.html

  1. 创建一个SQL源文件(只需要创建一次),用于容纳源成员

CRTSRCPF FILE(MYLIB/QSQLSRC) TEXT('SQL 脚本') 2. 使用STRSEU创建SQL源成员,在其中可以运行SQL语句。例如,“调用 MYLIB.MYSTOREDPROCEDURE(p1,p2)”。这里, MYSTOREDPROCEDURE 是我想要安排为作业的 sp。

  1. 使用 WRKJOBSCDE/ADDJOBSCDE 命令添加新作业

ADDJOBSCDE CMD(RUNSQLSTM SRCFILE(IDIGPROC/QSQLSRC) SRCMBR(aSRCmember))

谢谢,颜

但是当我输入命令 STRSEU 时,我得到“在命令上发现错误”,所以我认为可能是我们的服务器上没有安装一些东西。

我看到其他人说您可以按照以下命令编辑源文件:

CRTSRCPF 文件(MYLIB/SQLSRC)

EDTF 文件(MYLIB/SQLSRC) MBR(CALLMOFO)

所以我已经完成了这个(并且也在我的文件中创建了该成员),但我不确定我在 EDTF 中查看的是什么 - 我只想输入我的 SQL 脚本,但我什至不能设法创建一个新行。

EDTF

谁能提供一个白痴指南来指导如何从命令行运行一个简单的、无输入参数的存储 SQL 过程?提前谢谢你..

珍妮B

【问题讨论】:

    标签: database stored-procedures db2


    【解决方案1】:

    想通了!!哪一种让我想起了关于猴子和打字机以及莎士比亚作品的说法,花了很多错误的开始才最终得到它。以防万一它对其他人有帮助,我这样做了:

    创建了一个名为“P_CD020AUDIT”的存储过程。

    输入了这些命令:

    CRTSRCPF FILE(JENNYB/QSQLSRC) TEXT('SQL 脚本')

    ADDPFM 文件(JENNYB/QSQLSRC) MBR(CD020_A)

    EDTF 文件(JENNYB/QSQLSRC)

    在文件编辑器中,我刚刚输入了“call jennyb.p_cd020audit”(不带引号)并保存了文件。

    然后我从命令行尝试了这个:

    RUNSQLSTM SRCFILE(JENNYB/QSQLSRC) SRCMBR(CD020_A)

    而且,哈利路亚,它有效。因此,我使用 ADDJOBSCDE 创建了一个作业计划条目,并再次使用此命令 - RUNSQLSTM SRCFILE(JENNYB/QSQLSRC) SRCMBR(CD020_A) - 当我提交它时,它会运行我的存储过程。我希望这可以帮助其他人摆脱沮丧的谷歌搜索和错误消息的早晨.. ;)

    【讨论】:

      【解决方案2】:

      FWiW,除了另一个答案中的运行 SQL 语句 (RUNSQLSTM):
      • 相对较新的 IBM i OS 版本将具有运行 SQL (RUNSQL) 命令,作为仅用于一条语句的更简单的方法:
      RUNSQL 'call jennyb.p_cd020audit'
      • 大多数版本还通过 QSHELL 提供 DB2 命令行界面
      qsh cmd('db2 "call jennyb.p_cd020audit"')
      • 还有 REXX SQL;省略了一个完整的例子——如果需要,请在评论中询问一个例子:
      STRREXPRC … CMDENV(*EXECSQL)

      【讨论】:

        猜你喜欢
        • 2022-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-17
        相关资源
        最近更新 更多