IBM iSeries (AS400)

Un socio de Pentaho se encontró con un problema particular en un sistema AS/400 (también conocido como iSeries ó IBM System i), al devolver datos con codificación EBCDIC a través de Pentaho Data Integration.

Este puede ocurrir, por ejemplo, cuando una de las tablas ó campos tienen un CCSID de 65535, que significa "sin codificación".

En esta instancia, PDI estaba corriendo en la Plataforma Pentaho.

Existen dos entradas relevantes en JT Open FAQ :

- What character conversion issues must my program deal with? (¿Con qué tipos de conversiones de caracteres debe lidiar mi programa?)
- Why is the Toolbox JDBC returning EBCDIC characters to my Java program? (¿Por qué la librería JDBC está devolviendo caracteres EBCDIC a mi programa Java?)

La segunda entrada llevó a la solución. Todo lo que se necesitaba era añadir la siguiente opción a la URL en la fuente de datos JNDI:

;translate binary=true

If you are using a JDBC connection, you can add the option to in the Options pane:
Si se está utilizando una conexión JDBC, puede añadirse la opción en el panel de opciones:

Option: translate binary
Value : true

Esto resolvió el problema.