问题标签 [jtopen]
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.
sql - 使用 JTOPEN 调用存储过程
我需要使用接受 1 个 INOUT 和 4 个 IN 参数的 JTOPEN (JDBC) 连接通过 SQL 调用 AS400 存储过程。我正在使用以下 SQL 执行此操作
但它会引发错误
[SQL0313] 主机变量数无效。
如果我使用 '' 而不是问号,那么我会得到
[SQL0469] IN、OUT 或 INOUT 对于 MYLIB 中的过程 MYSP 中的参数 1 无效。
这可能吗?
jdbc - 在 as400 上使用本机 jdbc 驱动程序
我通常使用 AS400JDBCDriver 连接到 AS400 并使用数据库,这在 AS400 内部和外部都可以正常工作。
现在我开发了一个将在 AS400 上运行并访问数据库的类,但客户不想提供访问数据库的凭据,假设从 AS400 内部的访问不需要用户和密码,因为用户是已经登录。
前段时间我使用 com.ibm.db2.jdbc.app.DB2Driver 而不是 com.ibm.as400.access.AS400JDBCDriver 从本地类访问 AS400 DB。
我的第一个问题是我在 sourceforge 的 jt400.jar 中找不到类 com.ibm.db2.jdbc.app.DB2Driver。
第二个问题是,假设我可以找到 com.ibm.db2.jdbc.app.DB2Driver 类,这个类是否允许在没有凭据的情况下进行访问?
任何提示将不胜感激
弗拉维奥
java - 从 RPG 调用 Java,除我之外的所有用户的 ClassNotFoundError
我非常感谢您ClassNotFoundError
在从 RPG 调用 Java 方法时提供的帮助。当除我之外的任何其他用户尝试运行我的程序时,就会发生这种情况。从字面上看,CLASSPATH 或对 jar 文件的访问似乎存在问题,但我也从这方面尝试过。
说明:我有一个 RPG 程序,它在 jar 文件中调用 java 方法。我的 CLASSPATH 包含正确的 jar(JtOpen jar 文件)。当我从绿屏和黑屏(Iseries 会话管理器)运行 RPG 程序时,它可以完美运行。每当另一个用户尝试以相同的方式运行它时,它都会抛出以下错误消息:
RPG Procedure received Java Exception java.lang.NoClassDefFoundError: com.ibm.as400.access.AS400 when calling method "invokeApiPgm" with signature "([Ljava.lang.String;Ljava.lang.String;I[Ljava.lang.String;)Z" in class "callIceApi.CallIceApiPgm"
.
上面的签名也和我调用的方法一样。Java 抱怨的类似乎是 AS400 的类还是我的类?我可以看到 AS400 类是公开的。我的类的构造函数成功创建了类对象。它只是在调用 main 方法时失败invokeApiPgm
。
伙计们,你认为我错过了什么或搞砸了什么?
谢谢你的帮助!
特韦勒
java - Java ProgramCall 为输出获取 NullPointerException
当我从 java 调用 RPG 程序时,我能够传递输入参数并尝试从相同的输入字段取回输出值,当它来到 java 时,它得到 NullPointerException。这是我的示例代码。请提出解决方案。
输出:
java - 将应用程序审计跟踪与数据库日志链接
我正在开发一个将每个业务事务记录到审计跟踪的应用程序,并且我需要能够将此审计跟踪中的事件与用作 IBM System i (AS400) 日志的记录相关联该应用程序的 RDBMS。知道如何实现吗?
我在想是否有一种方法可以让应用程序将某种业务事务 ID 传递到数据库并将其与相应的日记帐分录一起存储。这可能吗?
spring-security - 连接池 + 模拟查询
我正在开发一个由 DB2 通过 IBM System i (AS/400) 支持的 spring(IoC/MVC/Security)/JTOpen 项目。由于我无法在此讨论的原因,应用程序的每个用户都在 IBM i (i5/OS) 操作系统上获得了一个帐户,这样他的交易就会根据他的身份记录在 Journal(DB2 日志文件)中。为了实现这一点,一旦有人使用他的凭据登录系统,我们就会建立连接,并相应地在 Journal 中根据他的姓名获取他的交易。
问题: 最近,我们一直在研究建立一个连接池而不是每个会话的连接现状。如果一旦应用程序开始使用通用 i5/OS 帐户(例如:SystemAccount)池建立这些连接,那么用户登录请求这些连接之一,有没有办法以用户的身份执行事务,尽管它是使用通用系统帐户建立?
db2-400 - DB2 AS/400 jtopen-7.1 DatabaseMetaData 更改
我正在使用 jt400 7.1 驱动程序连接到 DB2 AS 400 V6R1m0。在 7.1 驱动程序中,IBM 对数据库元数据方法进行了更改。其中一项更改是允许用户使用 '*USRLIBL' 关键字获取当前架构上的表名。可以在以下位置找到相同的文档:http: //sourceforge.net/projects/jt400/files/它说
默认情况下,“元数据源”连接属性设置为 1,在这种情况下,如果为架构模式传递了 null,则返回来自所有架构的信息。但是,您可以自己传递 *USRLIBL 的特殊值并获得所需的结果
所以使用关键字'*USRLIBL'获取表名是这样的。
这工作正常。
如果我们使用相同的模式来获取过程名称,则会返回一个空集。
我们可以在 getProcedures 调用中使用关键字“*USRLIBL”吗?getProcedures() 调用中是否支持“*USRLIBL”的使用。或者我们应该在使用 getProcedures call() 的同时继续使用 null 作为模式模式。
jdbc - 如何通过 JDBC 在 AS400 上为 DB2 启用 LIMIT?
我想使用 LIMIT 子句在 DB2 上进行分页。DB2 托管在 AS400 上,我通过 JTOpen 上的 JDBC 访问它。
在使用 LIMIT 和 OFFSET 或 ROWNUM 对结果集进行分页时,我了解到我可以通过调用将 DB2 放入 MySql 兼容性中
这允许使用 LIMIT 子句进行分页。由于我的查询也应该在 MySql 上运行,这将非常有帮助。
不幸的是,我没有找到通过 JDBC 启用此功能的方法,而且我不确定 AS400 上的 DB2 是否完全支持此功能。
希望有人可以对此有所了解。
java - 是否可以使用 Java 从 AS400 返回对象列表?
我正在尝试根据库名称从 AS400 中检索对象列表(无论是什么类型)。
我曾尝试通过命令调用使用WRKOBJ LibName/*all,但收到的错误提示我无法在此设置中使用命令 WRKOBJ(未提供其他反馈)。
当前代码:
我仍在寻找解决方案,所以如果我找到任何东西,我会发布它,但任何有任何想法或可以指出我正确方向的人,我将不胜感激!
java - JTOpen - 将用户密码设置为过期
我使用 JTOpen API 与 AS400 服务器通信的 Java 应用程序之一遇到了以下异常:
com.ibm.as400.access.AS400SecurityException:密码已过期。
JTOpen 是否提供任何使用户密码过期的方法?
提前致谢