问题标签 [jt400]

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 投票
1 回答
140 浏览

ibm-midrange - JT400向队列发送消息(即SNDMSG)

这是使用 jt400 向队列发送消息时的唯一选择吗?

MessageQueueapi 似乎没有任何种类sendwrite方法。

命令调用

消息队列

0 投票
2 回答
389 浏览

stored-procedures - 在 DB2/400 存储过程中避免硬编码模式

我正在创建存储过程来替换 IBM i 的旧版应用程序。我正在从 Java Web App 调用存储过程。我正在使用 jt400 JDBC 驱动程序

我的 JDBC URL 是jdbc:as400://myhost/;libraries=*LIBL,MYLIB;prompt=false

存储过程可以调用存储过程

如果不进行进一步的存储过程调用,则初始存储过程调用正常完成

如果存储过程调用其他存储过程,则失败并显示

如果我在存储过程调用语句中对模式进行硬编码,调用将正常完成。

我想让被调用的存储过程使用与调用者相同的模式

0 投票
2 回答
919 浏览

ibm-midrange - ibm jt400 获取数据队列条目数

我在 AS400/iSeries 中使用数据队列,并使用 jdbc jt400 库从其中读取。

由于它是生产者(AS400)/消费者(myapp)模式,我想检查数据队列中现在有多少条目,并测量我的应用程序是否运行得足够快或者我需要更改某些内容。

我可以获得数据队列的最大长度/大小,但不能获得当前长度/大小。

如何获取或计算该值?

我可以使用 rpg 程序并调用它,但更喜欢 jt400/jdbc 解决方案。

谢谢

我编辑此问题以添加应执行此任务的代码,但出现异常:

我总是得到 -1 作为答案,并且在 RDQD0100 = out.toB. 行中出现异常。

例外是

java.lang.ClassCastException: [B 不能转换为 java.base/java.lang.String

有什么线索吗?再次感谢

0 投票
2 回答
296 浏览

ibm-midrange - 使用 JT400 获取所有作业的 CPU 利用率

我需要使用 JT400 获取所有作业的 CPU 利用率百分比。但是我无法一次获得作业列表,因为 loadStatistics() 仅在作业级别而不在列表中可用(更省时)。

剪下以下代码后,我可以一项一项地获得每个作业的 CPU%,但这需要很长时间:

有没有办法一次获得所有作业的 CPU% (Job.ELAPSED_CPU_PERCENT_USED)?

0 投票
4 回答
174 浏览

java - 参数文件上的 AS400 SQL 脚本返回

我正在使用 Java/JT400 驱动程序将应用程序集成到 AS400。从参数文件中提取数据时遇到问题 - 检索到的数据似乎已编码。

输出

如何将其转换为可读格式?有没有可以用来解码的函数?

在与 AS400 的终端连接上,信息通过相同的 SQL 查询正确显示。

在此之前我没有使用过 AS400 的经验,我真的可以使用一些帮助。此问题仅与参数文件有关。数据库表工作正常。

0 投票
1 回答
174 浏览

jt400 - 从作业描述而不是用户配置文件设置 jt400 服务器作业库列表、jobq 和 outq

我有一个替换 5250 应用程序的 Web 应用程序。我将 jt400 用于 JDBC 和其他各种 IBM i 服务。在 5250 应用程序中,如果用户拥有多个角色或业务部门,则会创建一个单独的用户配置文件以引用相应的职位描述。

我正在为公司的 Web 应用程序实施 SSO。因此,具有多个角色/业务部门职责的用户将只有一个 IBM i 用户概要文件。

由于 IBM i 在需要之前预先启动 jt400 服务器作业,然后在 AS400 实例连接时交换身份,我想要从作业描述中设置的库列表、作业队列和输出队列,而不是用户配置文件

我可以在 AS400 对象实例上执行一次吗?

我不想为 AS400 实例连接的每个服务器作业手动执行此操作。

0 投票
0 回答
193 浏览

ibm-midrange - jt400.jar api中如何使用AS400类的connectToPort api

我需要在特定端口上连接到 as400 系统。我正在使用 connectToPort 方法。但它没有连接。

如果不使用这个 api,如果我只使用 AS400 aS400 = new AS400(mHost); aS400.authenticate(user,pwd);// 成功连接到8475端口 aS400.connectToPort(someotherPortNumber); // 这个调用没有返回

有了这个,我看到它正在连接到主机上的端口 8475。但是如果我想给出我选择的端口号,方法是什么。我尝试使用 connectToPort(portNo); 并且不适合我。请帮忙。我正在使用 jt400.jar 的版本作为

名称:com/ibm/as400/access/ 规范-标题:IBM Toolbox for Java 规范-版本:7.3.0.6 规范-供应商:IBM Corporation 实施-标题:com.ibm.as400.access 实施-版本:JTOpen 9.6 实施-供应商:IBM Corporation 等

提前感谢马达维

0 投票
0 回答
674 浏览

java - Jdbc 批量插入在 Db2 i 中的失败语句之后使所有语句失败

我正在使用批处理在Db2-400 (Db2 i)数据库的表中插入记录。JDBC prepared statement表中有主键。

当批处理中的任何语句具有重复键时,它会抛出BatchUpdateException(这是预期的)。但是当有 a 时BatchUpdateException,它会批量失败所有进一步的语句。

假设批处理有 5 个语句。例外仅在第 3 条语句中。然后第四条和第五条语句也失败了。

它与 Db2 LUW 不同,后者成功地执行了失败语句之后的所有语句。

例子:

UQTEST 表具有第一列主要。当 i 的值为 3 时,代码将键添加为 2,以使语句的键重复。

运行此代码后,表中仅插入 2 条记录:

我正在使用 jt400.jar 和使用的 JDBC 驱动程序是:

我希望所有这些语句都能成功执行,没有任何异常。

0 投票
1 回答
39 浏览

jt400 - jt400 将我的 where 条件截断为 like 子句

jt400-9.3.jar用来连接 DB2/AS400。

我的表BAND有这个记录:

我的桌子MUSICIAN上有:

当我运行这个选择

我检索:

第一个查询作为like子句工作。与1001匹配100,但句子为=no like

当我在 dbeaver 中执行查询时,但在 java(使用 PreparedStatement)中我弄错了,驱动程序有一些配置吗?

0 投票
0 回答
663 浏览

db2-400 - 在 QSYS2 中使用函数 TIMESTAMP_FORMAT 无效。成员数据映射错误

我是 iseries/DB2 的新手。

我们使用 V7R3。我们有 RPG 程序每天生成的表格作为物理文件。为了从 java 访问表数据,我们使用 jt400.jar jdbc 驱动程序。

大多数表查询工作正常,但一些使用“DENSE_RANK() OVER(ORDER BY”和“ROW_NUMBER() OVER(PARTITION BY”的复杂查询不时挂起并导致 CPU 100%。只在 AS400 端杀死工作正在解决问题。

在 AS400 日志中,我看到:

它看起来与为什么我收到“[SQL0802] 数据映射错误的数据转换”异常中描述的问题相似 ? 并且可能问题与存储到 DATE 类型列的无效数据有关。

查看 DATE 列,我看到一些记录<null> 在 SQuirrel SQL 客户端中显示。有趣的是,这里有 2 个不同<null>的 ' 由不同的查询返回。 在此处输入图像描述

如果我跑

对于这些行,我得到 0001/01/01 和 9999/12/31 <null>

如果我从 DATE_COLUMN 为空的 TABLE 中运行 Select *,我不会得到任何结果。所以我不确定那是什么类型的<null>

不确定这些记录是否会导致问题。

UPD: 当我跑步时

我在 JDBC 客户端日志中看到错误:

基于https://www.consolut.com/en/s/sap-ides-access/d/s/p/40/doc/XH-SQL0181/它应该是表中某处的不正确日期

问题是有什么方法可以从 SQL 端查找和过滤具有“无效”数据(导致日志中出现上述异常)的记录?