请问
     我想把一段String = “<table><tr><td>班级</td><td>姓名</td><td>性别</td></tr></table>”;
     保存到数据库中 该怎么做  数据库是DB2
     保存时报错:太长。最大长度为 "128"。  SQLSTATE=42622     

解决方案 »

  1.   

    兄弟,很简单啊,就是超长.
    String s= "<table> <tr> <td>班级 </td> <td>姓名 </td> <td>性别 </td> </tr> </table>"; 
    s.length的结果是66,至少需要132个字节,你的最大长度为"128",当然出错了~
      

  2.   

    2进制格式存放和你设定的这个column的type有关系,你直接用char类型存不就可以了吗
      

  3.   

    private String streamToString(ByteArrayOutputStream bos) {
    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    byte[] byteArray = bos.toByteArray();
    int size = byteArray.length;
    if ((size % 3) == 1) {
    bos.write(0);
    bos.write(0);
    } else if ((size % 3) == 2) {
    bos.write(0);
    }
    try {
    bos.writeTo(MimeUtility.encode(outStream, "base64"));
    } catch (IOException e) {
    e.printStackTrace();
    } catch (MessagingException e) {
    e.printStackTrace();
    }
    return outStream.toString();
    }
      

  4.   

    byte[] a;
    a = varHtml.getBytes("utf-8")怎样用这种方式保存?varHtml就是以上的html;
      

  5.   

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ByteArrayOutputStream inStream = new ByteArrayOutputStream();

    byte[] a = varHtml.getBytes("utf-8")

    byteArrayOutputStream.write(a);

      // pad
      if ((size % 3) == 1) {
      byteArrayOutputStream.write(0);
      byteArrayOutputStream.write(0);
      } else if ((size % 3) == 2) {
      byteArrayOutputStream.write(0);
      }

    byteArrayOutputStream.writeTo(MimeUtility.encode(inStream, "base64"));

    String code = inStream.toString();
    byteArrayOutputStream.close();
    inStream.close();
      

  6.   

    byteArrayOutputStream.write(a); 楼上的兄弟 ,小弟不明,你这里只是吧a输出来了
    但是后面的都于a没有相关的操作了
      

  7.   

    byte[] a = varHtml.getBytes("utf-8") 
    byteArrayOutputStream.write(a);   // pad 
      if ((size % 3) == 1) { 
      byteArrayOutputStream.write(0); 
      byteArrayOutputStream.write(0); 
      } else if ((size % 3) == 2) { 
      byteArrayOutputStream.write(0); 
      } byteArrayOutputStream.writeTo(MimeUtility.encode(inStream, "base64")); String code = inStream.toString();
      

  8.   


    写的再透彻一点吧我现有一段sql: sql="updata a set var = "+varHtml+" where x=y" ;
    dbConnection.ExecuteNonQuery(sql); 不太理解 你这byteArrayOutputStream.write(a);
    对a操作起了什么作用;