Used Ports for JDBC
Please see the following link for the default ports for JDBC to iSeries:
http://www-03.ibm.com/systems/i/software/toolbox/faqports.html
The ports listed are the defaults for the servers. These port assignments can be modified using the "WRKSRVTBLE" command.
You can also check with "NETSTAT" on the iSeries if the ports are open.
JDBC driver versions
Please see the comments on IBM DB2.
EBCDIC Encoding
One of our partners came across a special issue with an AS/400 (a.k.a. iSeries a.k.a IBM System i) returning data in EBCDIC encoding to Pentaho Data Integration.
For instance this can happen when one of the tables or fields have a CCSID of 65535 what means no encoding.
PDI in this instance was running on the Pentaho Platform.
There are 2 relevant entries in the JT Open FAQ :
- What character conversion issues must my program deal with?
- Why is the Toolbox JDBC returning EBCDIC characters to my Java program?
The second entry led to the solution. All that was needed was adding the following option to the URL in the JNDI data source:
Code Block |
---|
;translate binary=true |
If you are using a JDBC connection, you can add the option to in the Options pane:
Code Block |
---|
Option: translate binary Value : true |
This solved the issue.
Zoned or Packed Fields
The IBM Toolbox for Java JDBC properties list the property "big decimal". When set to "true" it returns a Kettle data type of a BigNumber instead of a Number that could help in specific cases. It is recommended to set this option to "true" due to possible rounding issues with Numbers (double precision values), but has a small performance impact.
Monitoring
Have a look at the QZDASOINIT jobs at the AS/400. These jobs are serving the database SQL server jobs for JDBC and looking into these give a lot of extra information.