java - parametros - Cómo convertir datos binarios de DB2 a UTF-8 en el nivel de consulta
jdbc mysql ejemplo (2)
Estoy conectado a la base de datos IBM DB2 con java, pero los datos se almacenan como formato binario en la base de datos, por lo que cuando obtengo cualquier valor, aparece como formato binario o hexadecimal. ¿Cómo puedo convertir esto en datos binarios en utf-8 en el nivel de consulta?
Código de muestra para recuperar datos -
String sql = "SELECT poMast.ORDNO from AMFLIBL.POMAST AS poMast ";
Class.forName("com.ddtek.jdbc.db2.DB2Driver");
String url = "jdbc:datadirect:db2://hostname:port;DatabaseName=dbName;";
Connection con = DriverManager.getConnection(url, "username","password");
PreparedStatement preparedStatement = con.prepareStatement(sql);
ResultSet rs = preparedStatement.executeQuery();
System.out.println("ResultSet : /n");
System.out.println(" VNDNO");
while (rs.next())
{
System.out.println(rs.getString("ORDNO"));
}
puedes "lanzar" el resultado de tu selección a utf8 como a continuación.
String sql = "SELECT poMast.ORDNO, CAST(poMast.ORDNO AS VARCHAR(255) CCSID UNICODE) FROM AMFLIBL.POMAST AS poMast ";
src: cast db2
Probablemente necesites usar la expresión CAST
:
SELECT CAST(poMast.ORDNO as VARCHAR(50)) from AMFLIBL.POMAST AS poMast
Ajuste la longitud VARCHAR según sus necesidades. La cadena está en la página de códigos de la base de datos (a menudo UTF-8 en estos días) y se convierte a la página de códigos del cliente / aplicación cuando se busca.