多谢各位仁兄拔刀相助,殊不知用Informix做网站的弟兄们怎么挺过来的?希望你们能给点参考意见。那个用text都没用,因为Informix服务器端解析SQL时估计就出错了,一篇文章总不能没法一次用SQL往库里倒吧。
再次感谢!

解决方案 »

  1.   

    发现自己真是笨,基础没学好让自个费了这么大劲才搞明白是怎么回事,我把Informix的JDBC反编译过来,仔细研究了一下IfxPrepearStatement(PrepearStatement)的实现类,才明白其实PrepearStatement先传一个形式上的SQL给Informix server,如insert into table1 values(?,?),然后再按要求把两个问号代替的值传过去,如pstmt.setString(1,str1),这样就等于是变量传递,而SQL语句中也就没有了括号中超出256字节的字符串了。如下例(Java):
    String sql = "insert into table1 values (?,?)";
    int putInt = 3;
    String putStr = "12345......256";//一个大于256字节的字符串
    Connection conn = //get Connection
    PrepearStatement pstmt = conn.prepearStatement(sql);
    pstmt.setInt(1,putInt);
    pstmt.setString(2,putstr);
    int flag = pstmt.executeUpdate();再次向大家表示感谢!