首页 > 解决方案 > 使用 idb2 .NET 提供程序执行 PGM 命令

问题描述

我正在尝试使用 IBMDB2 .NET 提供程序执行 PGM(IBM -Iseries)。但我总是遇到问题。

我尝试使用 ADO.NET 提供程序(COM 对象)和其他一些方法,但我无法在 i 系列中执行 PGM。我不确定是否可以使用 IBMDB2 .NET 提供程序和 ADO 提供程序直接执行 PGM。

iDB2Connection icon = new iDB2Connection(strConnect);
                    iDB2Command command = icon.CreateCommand();
                    icon.Open();
                    command.CommandText = ($"CALL PGM(ABC/XYZ)PARM('1ASB         ''000013644')");

                    command.ExecuteNonQuery();

标签: ibm-midrange

解决方案


您可以从 SQL 调用 QCMDEXEC 过程,但是 parms 的引号很难理解。
“在开始引号和结束引号之间连续两个引号导致字符串中的单引号”。 我建议你首先调用一个没有参数的简单程序。

CALL QSYS2.QCMDEXC('CALL PGM(ABC/XYZ)PARM(''1ASB         '' ''000013644'')')

/* 字符串调用 gpm(abc/zyc) parm('1ASB ' '00013544')


推荐阅读