问题标签 [rpgle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
841 浏览

java - 使用 JTOpen 连接到 AS/400 时的 SQL 注入风险

我们正在使用 JTOpen 连接到我们的 AS/400 机器,并且我正在尝试解决在使用这种类型的集成时存在 SQL 注入漏洞的风险。

请注意,我们只使用 API 的调用程序部分——而不是 jdbc 连接。

我不是 RPG 程序员,不知道将 SQL 注入代码的风险如何,也不知道 JTOpen API 是否能阻止此类攻击。

经过一番谷歌搜索后,我发现当 RPGLE 程序不使用存储过程时,可以对它们进行 SQL 注入。所以我的问题是:这是否也可以通过 JTOpen api 来实现。

我们是否需要在对 JTOpen API 的所有调用中以编程方式检查 SQL 注入?

0 投票
3 回答
3313 浏览

c# - iSeries 存储过程调用 RPG 程序不向程序返回值

我有一个调用 SQLRPGLE 程序的存储过程。该程序运行良好,因为我已在调试器中验证并按预期发送返回值。取而代之的是查看时返回的内容cmd.Parameters["@ISMATCH"].Value = {}。我猜我做错了什么。会是什么呢?

存储过程:

我的方法:

我的 RPG 程序参数:

0 投票
6 回答
2209 浏览

sql - 比较两个表中的数据

我有两个表需要比较以确保值匹配。对于上下文,一个是员工的时间表,另一个是保存他们请求的表格。每个都有时间表代码和小时数。我的计划是通过摘要进行比较,看看它们是否匹配。但是,我每次都无法让我的逻辑完美运行。如果没有我发布我的代码(无论如何它很快就会变得一团糟),你会如何解决这个问题?比较需要能够以编程方式运行,并最终返回真/假。

这可以是 RPG 解决方案或 SQL 解决方案。

这是我需要确保是真的。

问题是什么时候

或者什么时候

或者更多的时候

0 投票
2 回答
1231 浏览

ibm-midrange - websphere,SQL1103:未找到 QTEMP 中表 STVRECONWK 的位置 24 列定义

我有一个在 SQLRPGLE 程序结束时创建然后删除的表

每当我尝试从 WebSphere 编译时,我都会得到

SQL1103:未找到 QTEMP 中表 STVRECONWK 的位置 24 列定义。

问题是该表不存在,如果我从终端会话创建表然后编译(也从终端)它可以工作,因为编译器能够验证表,因为它们在同一个作业中运行。

我如何在 WebSphere 中做到这一点?

0 投票
2 回答
2496 浏览

ibm-midrange - 使用 RPG 变量作为游标名执行 SQL 语句

我想将游标和数据结构传递给一个过程,然后该过程用 sql 游标的下一行填充该结构。这可能吗?下面是我想要实现的模板。

我如何传递光标,我将如何定义数据结构参数?

0 投票
1 回答
821 浏览

java - 处理图像时带有 RPGLE 接口的 iSeries JAVA 程序崩溃

我制作了一个基于 GnuPdf 创建 PDF 文件的 java 程序。当使用本机 java 代码(在 Windows 或 iSeries QSH 上)运行时,它可以完美运行,但是,当通过 RPGLE 接口运行时,程序在处理图像时会崩溃(以随机间隔)。我跟踪其中一个以从 .jar 文件加载图像并从代码中删除调用。它工作了一段时间,但现在从 IFS 加载的图像崩溃了。也许 RPGLE 以某种方式锁定文件和想法?该代码是从服务程序调用的。

这是堆栈跟踪

0 投票
2 回答
1660 浏览

java - 将 String.format 与 RPGLE 一起使用

我想将 RPGLE 与带有可变长度参数或数组的 String.format 接口,我还想传递数字和字符串,所以我将使用类似"hello %s, you are %d years old". 有人可以给我一些关于如何在 RPGLE 中制作原型的建议吗?


更新

似乎有些人对这个问题感到困惑。为了清楚起见,我想在 RPGLE 中制作以下原型。请注意,该方法的第二个参数是varargs参数,因此可以提供任意数量的参数!RPGLE 绝对不支持这一点,但它确实支持*nopass,所以这有助于实现我需要的结果。

我对如何在 RPGLE 中格式化字符串不感兴趣,我想制作一个 java 方法的原型。

0 投票
4 回答
361 浏览

php - 如何分配记录以避免与另一个用户同时更新

我正在使用 select sql(IBM i 上的 DB2)从数据库中读取记录并将其显示为用户可以修改和更新的表单!

现在我需要,如果用户正在查看此记录,同时另一个用户只能查看但不能更新同一个 racord!

我该怎么做?有没有一种方法可以选择此记录来分配(或阻止)记录以避免同时更新?(如果有相同的 php 指令来做)

(例如,我使用 RPG 语言程序,我使用分配记录的 CHAIN 指令来防止此问题)

谢谢!

0 投票
2 回答
12689 浏览

ibm-midrange - 如何在 RPGLE 中获取字符类型变量的长度?

有没有简单的方法可以直接返回 RPGLE 中字符和类型变量的长度?我这里说的长度不是D-spec中规定的长度。我说的是字符串中有意义的字符的实际数量。假设一个字符类型变量定义为 50 个字符长,并赋值为“Hello world!”,那么我想要的长度是 12,即从“H”到“!”。忽略前导和尾随空格。有什么简单的方法可以做到这一点吗?

0 投票
2 回答
10015 浏览

sql - 如何将 DB2 SQL 结果表移动到物理文件中?

我想从SELECT语句中获取结果表,然后将其移动到物理文件中。

我希望使用(根据W3Schools):

不幸的是,根据 IBM 手册(DB2 for i SQL 参考)

SELECT INTO语句生成一个最多包含一行的结果表,并将该行中的值分配给变量。

所以我想也许我可以使用:

INSERT语句向表或视图中插入行该语句有三种形式:
1. INSERTusing fullselect形式用于使用来自其他表或视图的值向表或视图中插入一行或多行。

不幸的是,它似乎对我不起作用。

我可以将结果表移动到物理文件中,但要做到这一点,我必须声明一个游标,然后do … while写入物理文件,一次一条记录。我认为这丑陋和不雅,并希望能够使用一个SELECT INTO或一个INSERT INTO声明。

请帮助我用一个优雅的语句将结果表“转储”到物理文件中。

操作系统:IBM i v6.1
数据库:DB2