Hi, Is Tomcat's data source URL setting incorrect? Although I set ① and ②, TCP Retransmission occurs. The driver is "jt400-20.0.7-java8.jar". ①url="jdbc:as400://<ip address="">;naming=system;libraries=LIBL,LIB1;setTcpNoDelay=true" ②url="jdbc:as400://<ip address="">;naming=system;libraries=</ip>LIBL,LIB1;prompt=false;translate binary=true;minimum divide scale=9;lazy close=true;setTcpNoDelay=true"</ip> The problem was resolved after changing to "tcp no delay=true". Thank you very much. yyyc28
"setTcpNoDelay" is a data source method. In the URL, you should use "tcp no delay=true" in the URL.
Hi, Is Tomcat's data source URL setting incorrect? Although I set ① and ②, TCP Retransmission occurs. The driver is "jt400-20.0.7-java8.jar". ①url="jdbc:as400://<ip address="">;naming=system;libraries=LIBL,LIB1;setTcpNoDelay=true" ②url="jdbc:as400://<ip address="">;naming=system;libraries=</ip>LIBL,LIB1;prompt=false;translate binary=true;minimum divide scale=9;lazy close=true;setTcpNoDelay=true"</ip>
Thank you so much, that really helps performance. Would be nice to have the convertToNull option too, but i'll post in other forum you mentioned.
Error on connection with password blank (not null) on version 11.2
Support for CCSID 65535 for Data Translation - JT400 jar ver 10.7
Extremely slow queries filtering with date 0001-01-01
This project has moved to github: https://github.com/IBM/JTOpen If the below information does not help, please report the problem there. It looks like you need to configure your connection to use date format ISO to correctly process the 0001-01-01 date. Here is an example of the behavior without the date format setting and with the date format setting. ~> java -jar jt400.jar "jdbc:as400:$SYSTEM" $USERID $PASSWORD >select date('0001-01-01') from sysibm.sysdummy1 00001 null *** Warning *** SQLState:...
Extremely slow queries filtering with date 0001-01-01
We are in the process of migrating to GitHub. If you have an account, please open an issue there, at https://github.com/IBM/JTOpen
Support for CCSID 65535 for Data Translation - JT400 jar ver 10.7
Small correction, the jdk9-version is available for 11.0 and 11.1, but not for 11.2
Missing version from Maven Central
We are in the process of migrating to GitHub. If you have an account, please open an issue there, at https://github.com/IBM/JTOpen
I like this idea and would like further discussion. I would like to accomplish similar things with WildFly. Do you have a GitHub account? If so, please open an issue at https://github.com/IBM/JTOpen
we are in the process of migrating to GitHub. This should be fixed here : https://github.com/IBM/JTOpen/pull/18 The fix should be included in v20.0.0-alpha-1 which you can download from the release page. If your problem persists, please open an issue on GitHub
@msillence, we are in the process of migrating to GitHub. If you have an account there, do you mind opening an issue at https://github.com/IBM/JTOpen/ ?
@mromijn, I like this idea. We are in the process of moving JTOpen to GitHub. If you have an account there, can you please open an issue at https://github.com/IBM/JTOpen/ ?
Yes, it should be in JTOpen 11.0 Fixes and enhancements in JTOpen 11.0 released 2022-04-13 ... JDBC: Add connection property: tcp no delay
Hi, is this method available for jt400-11.0 version? If yes, how can I set this property in a connection string? For example, I connect with the as400 with this connection string, is the last properties setTcpNoDelay=true correctly set? jdbc:as400://IP_AS400/libraries=XXX;prompt=false;translate binary=true;minimum divide scale=9;lazy close=true;setTcpNoDelay=true; Thanks a lot for an answer. Mirco
Hi, is this method available for jt400-11.0 version? If yes, how can I set this properties in a connection string? For example, I connect with the as400 with this connection string, is the last properties setTcpNoDelay=true correctly set? jdbc:as400://IP_AS400/libraries=XXX;prompt=false;translate binary=true;minimum divide scale=9;lazy close=true;setTcpNoDelay=true; Thanks a lot for an answer. Mirco
Hi, is this method available for jt400-11.0 version? If yes, how can I set this properties in a connection string? For example, I connect with the as400 with this connection string, is the last properties setTcpNoDelay=true correctly set? jdbc:as400://<ip_as400>/libraries=XXX;prompt=false;translate binary=true;minimum divide scale=9;lazy close=true;setTcpNoDelay=true;</ip_as400> Thanks a lot for an answer. Mirco
Hi, is this method available for jt400-11.0 version? If yes, how can I set this properties in a connection string? For example, I connect with the as400 with this connection string, is the last properties setTcpNoDelay=true correctly set? jdbc:as400://<hostname>/libraries=XXX;prompt=false;translate binary=true;minimum divide scale=9;lazy close=true;setTcpNoDelay=true;</hostname> Thanks a lot for an answer. Mirco
Hi, is this method available for jt400-11.0 version? If yes, how can I set this properties in a connection string? For example, I connect with the as400 with this connection string, is the last properties setTcpNoDelay=true correctly set? jdbc:as400://<hostname>/libraries=XXX;prompt=false;translate binary=true;minimum divide scale=9;lazy close=true;setTcpNoDelay=true;</hostname> Thanks a lot for an answer. Mirco
AS400ConnectionPool factory
Error on connection with password blank (not null) on version 11.2
Apparently I missunderstood our problem is it more the QCCSID as described here https://www.ibm.com/support/pages/what-impact-changing-qccsid-shipped-65535-another-ccsid We failed to set the qccsid but do set our ccsid on our tables
Apparently I missunderstood our problem is it more the QCCSID as described here https://www.ibm.com/support/pages/what-impact-changing-qccsid-shipped-65535-another-ccsid
Home
allow overriding ccsid
jdbcClient: Handle char type for reflective method call
Clear sensitive information
Clear sensitive information
Clear byte array for MessageDigest
Added comments.
Update the flag
Updates for JTOpen 11.2
Clear char array and byte array and fix profile token issue.
In 11.1, it is deprecated.
No, We deprecated validateSignon(String userId, String password), We did NOT deprecated validateSignon(String userId, char[] password).
validateSignon(String userId,** char[] **password) deprecated?
Customer applied the changes that we above mentioned and they are able to see 5mbit of transfer speed which is not terrible but I think we should be able to do more. If we use parallel threads like on the picture I'd expect the performance to be somewhere between 5 and 20mbit but it stays 5mbit constantly.
Fix generate profile token issue
EnvironmentVariable Supports char array for setValue
JTOpen block size
Happy to repot that the issue was raised with IBM Support for WebSphere Liberty. Changes were made to the Open Liberty project to fix the issue that was occurring. The fix is available in version 23.0.0.1 and higher. Here is a link to the issue report -> https://github.com/OpenLiberty/open-liberty/issues/23690 Thanks for the assistance in understanding the issue.
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
Updates for JTOpen 11.2
ProgramDocumentCall new method setCharArrayValue Fix issue
JDBC:Internal Password Changes
JDBC:Internal Password Changes
We have V6R1 to V7R3 currently but both of these seems to be "IBM i" so we should be fine. Thank you for the quick response! We can close this ticket.
Hello John, Thank you for the insight, indeed we have this: String insert_tDBOutput_1 = "INSERT INTO " + "BGUNICS_TEST" + " (newColumn,newColumn1,newColumn2,newColumn3,newColumn4) VALUES (?,?,?,?,?)"; pstmt_tDBOutput_1 = conn_tDBOutput_1.prepareStatement(insert_tDBOutput_1, java.sql.Statement.RETURN_GENERATED_KEYS); I’ll test it tomorrow and report it back to you. Balázs Gunics Product Manager, Talendhttp://www.talend.com/ From: bugs@jt400.p.re.sourceforge.net bugs@jt400.p.re.sourceforge.net On Behalf...
The latest version of JTOpen should be compatible with all versions of "IBM i", as nothing is purposely changed to break backward compatibility. However, only the versions of "IBM i" that are currently in service are regularly tested and officially supported.
JTOpen JDBC server version compatiblity
Performance Issues due to Packet Size
Hello John, Yes removing the return generated keys increases the performance greatly. pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(insert_<%=cid%>, java.sql.Statement.RETURN_GENERATED_KEYS); Thank you for your help!
It looks like the application is requesting that auto generated keys are to be returned by the insert statement. The JTOpen 5.4 driver did not always correctly return generated keys. If generated keys are not retrieved by the application, can the prepare of the insert statement be changed to not request generated keys? In the JTOpen 5.4 driver the inserts are batched. In the recent drivers, the inserts cannot be batched because the return of auto generated keys was requested. Details: Tracepoint...
Hello John, Please find the log files attached. The old driver generates a lot smaller logs (13mb vs 26mb) advParam=block size\=512;send buffer size\=512;toolbox trace\=all;data compression\=true
JDBC:Internal Password Changes
Fix issues and Remove duplicate code.
Can you provide traces of running with the old driver and the new driver so that I can compare them? Can you also use toolbox trace=all?
Clear sensitive data from memory
Refactor SignonConverter
Hello John, Happy new year! Is there any other files / information we should provide? Regards, Balázs
ProgramDocumentCall new method setCharArrayValue
AS400Text support char array
AS400Text support char array
JDBC: XADataSource interfaces for char[] password
JDBC: Rowset interfaces for char[] password
Hello John, Block size does affect the Read Performance. By setting it to 512 we can see it's faster. (I was able to go up to 1000row/sec from 500row/sec) However the write performance is still not good. Meanwhile I got access to a system. We're using Prepared Statements. I tried with a 10/100 batch size. Here's my setting: block size=512;send buffer size=512;toolbox trace=datastream; By enabling the toolbox trace I can see that we're sending data record by record and waiting for a response from...
You'll need to contact liberty / websphere support to make the changes outlined above.
Hello John, Thank you for the reply, however, we have no control over the code execution. This configuration is in the server.xml for the WebSphere Liberty profile. We access the code in two potential different ways: @Resource(lookup = "jdbc/database") DataSource db; Connection conn = db.getConnection() Or I tried getting the Initial Context and getting the JDBC connection manually. DataSource db = (DataSource) new InitialContext().lookup("jdbc/database"); Connection conn = db.getConnection() Both...
Hello John, Thank you for the reply, however, we have no control over the code execution. This configuration is in the server.xml for the WebSphere Liberty profile. We access the code in two potential different ways: @Resource(lookup = "jdbc/database") DataSource db; Connection conn = db.getConnection() Or I tried getting the Initial Context and getting the JDBC connection manually. DataSource db = (DataSource)ctx.lookup("jdbc/database"); Connection conn = db.getConnection() Both of these fail. Using...
The JTOpen JDBCDataSources were changed to add a setPassword(char[]) method. The old setPassword(String) method was deprecated. This is because putting a password in a String is insecure, as the JVM may cache the string -- thus exposing the password if the process memory is dumped or if the JVM is dumped. It looks like com.ibm.ws.jdbc.internal.JDBCDriverService.setProperty method is confused and is trying to use the setPassword(char[]) method instead of the setPassword(String) method. It is trying...
JDBC Connections fail upgrading from version 11.0 to 11.1
Fixed in JTOpen 11.1