我在尝试连接到数据库时遇到以下异常
HikariPool-1 - Driver does not support get/set network timeout for connections. (Receiver class com.ibm.as400.access.AS400JDBCConnectionImpl does not define or inherit an implementation of the resolved method abstract setNetworkTimeout(Ljava/util/concurrent/Executor;I)V of interface java.sql.Connection.)
这是我的 pom
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>net.sf.jt400</groupId>
<artifactId>jt400</artifactId>
<version>10.5</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
和应用程序yaml
spring.datasource:
url: jdbc:as400://xxx/xxx
username: xxx
password: xxx
driver-class-name: com.ibm.as400.access.AS400JDBCDriver
hikari.connection-test-query: values 1
spring.jpa:
database-platform: org.hibernate.dialect.DB2400Dialect
hibernate.ddl-auto: none
Run Code Online (Sandbox Code Playgroud) 有一个作业被提交。该作业调用一个程序,该程序在其 qtemp 中创建一个临时文件。有人可以告诉我如何在作业的 qtemp 中查询该文件吗?
我有一个程序 SS150R,其中 PI 声明为
Dcl-pi SS150R;
pCompcd Char(4);
ptrncd Packed(3:0);
pErrMsg Char(30) options(*nopass);
pSuccess Char(1) options(*nopass);
End-pi;
Run Code Online (Sandbox Code Playgroud)
没有为此(PI)声明原型(PR),但该程序仍然运行良好。
我的问题是,我一直读到,如果有一个命名的 PI ,如果它不是一个命名的 PI ,则必须声明原型
dcl-pi *n ;
Parm char(1) ;
end-pi ;
Run Code Online (Sandbox Code Playgroud)
那么就不需要原型声明了。有人可以解释一下,如果我的程序 SS150R 有一个指定的 PI 并且没有 PR,但它如何仍然有效?
注意:我的程序被旧的非RPG程序调用。
我使用标准.NET OdbcConnection连接到AS/400 iSeries数据库.我可以查询这个数据库.不幸的是,有些字段似乎是编码的.如何在C#中解码这些值?我尝试过以下方法:
string text = string.Empty;
if (bytes.Length > 0)
{
ASCIIEncoding encoder = new ASCIIEncoding();
text = encoder.GetString(bytes);
}
return text;
Run Code Online (Sandbox Code Playgroud)
bytes变量表示需要解码的数据.不幸的是,我没有运气.我被告知如果我在Windows机器上设置ODBC数据源并检查转换选项卡中的"将二进制数据(CCSID65535)转换为文本"复选框,则数据将正确返回.但是,我想使用纯C#.有任何想法吗?我离开了吗?
谢谢!
当我使用时STRDBG,在显示模块源中,我如何转到代码的末尾?
我所做的是使用向下翻页键,但在大型源文件中这种方法很糟糕.
如果我使用DFTACTGRP创建一个ILE RPG程序(*NO),我的理解是程序保留在内存中,直到激活组被销毁.如果我在关闭LR的情况下退出程序,那么下次调用时变量会重新初始化还是保持它们的值?
从CLLE调用RPGLE时,我应该传递打包的数字字段吗?或者将它们转换为字符传递它们并将它们转换回RPG中的数字.如果推荐前者,这是怎么做到的?
知道那ptr <> *null,两段代码功能相同吗?
dealloc(en) ptr;
ptr = %alloc(500);
Run Code Online (Sandbox Code Playgroud)
和
ptr = %realloc(ptr:500);
Run Code Online (Sandbox Code Playgroud) 好像我记得编写一个使用嵌入式SQL的RPG程序,只要发生SQL警告或错误,它就会向交互式用户作业日志写入消息.我没有明确写出来; 它默认记录.
我现在写的程序没有进行此日志记录,虽然我知道我可以引起类似警告01003和错误02000,并使用SQLState变量读取它们.
我不认为我想象这种行为.是否有我忘记设置的H spec关键字,我调用程序的方式(使用CALL交互式),我编写SELECT INTO语句的方式(静态而不是动态)?我对其他想法感到茫然.
有人可以解释我为什么不能使用%paddr()BIF 将内部过程的地址(存储在字符串变量中)分配给ProcPointer 吗?
我的想法是创建一个以数字为键的关联数组,以某个子过程的名称为值的关联数组。当用户在DSPF中输入数字2时,程序必须调用具有键“ 2”的过程。
据我了解,BIF %paddr()使用硬编码的过程名称或包含过程名称的字符串。但是,当给一个字符串变量时,编译器会抱怨的参数%PADDR无效。
ibm-midrange ×10
rpgle ×7
rpg ×2
c# ×1
db2 ×1
db2-400 ×1
embedded-sql ×1
pointers ×1
spring-boot ×1