JDBC-从';char';数据类型

JDBC-从';char';数据类型,jdbc,char,whitespace,informix,sqldatatypes,Jdbc,Char,Whitespace,Informix,Sqldatatypes,如何将JDBC配置为自动修剪数据类型定义为char(20)的列中的空格 当一个列在Informix数据库的表中定义了一个char(xx)时,如果不使用,这些保留字符中的每一个都将填充空白 例如:类型为char(20)且值为“test”的列名前缀最终将被解读为: "test " <- 4 characters + 16 white-spaces “test”在连接字符串中使用IFX\u TRIMTRAILINGSPACES: D:\Infx\work\Java

如何将JDBC配置为自动修剪数据类型定义为
char(20)
的列中的空格

当一个列在Informix数据库的表中定义了一个char(xx)时,如果不使用,这些保留字符中的每一个都将填充空白

例如:类型为
char(20)
且值为“test”的列名前缀最终将被解读为:

"test                " <- 4 characters + 16 white-spaces

“test”在连接字符串中使用IFX\u TRIMTRAILINGSPACES:

D:\Infx\work\Java>cat select.java

import java.sql.*;
import java.util.*;

public class select {
 public static void main( String [] args ) {

 Connection conn = null;
 ResultSet dbRes = null;
 Statement is = null;

 try {
    Class.forName("com.informix.jdbc.IfxDriver");

   conn = DriverManager.getConnection("jdbc:informix-sqli://420ito:9088/stores7:INFORMIXSERVER=ids1210;user=informix;password=dummy;IFX_TRIMTRAILINGSPACES=0");

    is = conn.createStatement();

        is.executeUpdate("drop table t22;create table t22(c1 char(20))");
        is.executeUpdate("insert into t22 values ('abc        ')");
    PreparedStatement pstmt=conn.prepareStatement("SELECT *  from  t22");
    dbRes= pstmt.executeQuery();
    while (dbRes.next()) {
      System.out.format("--%s--,",dbRes.getString(1));
          try {
        } catch ( Exception ex ) {};
    }
    dbRes.close();
    conn.close();
  }
  catch ( Exception e ) {
    System.err.println(e);
        e.printStackTrace();
   }
 }
}


D:\Infx\work\Java>javac select.java

D:\Infx\work\Java>java select
--abc                 --,
D:\Infx\work\Java>grep TRIM select.java
   conn = DriverManager.getConnection("jdbc:informix-sqli://420ito:9088/stores7:INFORMIXSERVER=ids1210;user=informix;password=dummy;IFX_TRIMTRAILINGSPACES=1");

D:\Infx\work\Java>javac select.java

D:\Infx\work\Java>java select
--abc--,
D:\Infx\work\Java>
从手册中: