看看
str.getBytes().length
是多少.750汉字是1500字节, 还有其它字符吗?

解决方案 »

  1.   

    对~~~~
    str.getBytes().length 就是1500
    没有别的啊~~~
      

  2.   

    不知你字段的类型是什么?
    还有数据库的字符集。
    在有些字符集中,一个汉字可以占三四个字节的空间。
    建议用Varchar2类型
      

  3.   

    好像因为编码的原因
    用的UTF8?
    还是什么的?
    一个汉字占4个字节
    所以750*4
    要不你试试看
      

  4.   

    我是用的Varchar2(4000)类型
    我试过
    异常如下:
    java.sql.SQLException: 数据大小超出此类型的最大值: 2250当2250这个数值小于2000就可以~~~
    还有setCharacterStream
    怎么用,请详诉~~~~~~~~~~~~
      

  5.   

    还有个奇怪的现象,我把数据库的表字段改成Varchar2(2000)还是这样
    600个汉字没问题只要我得(汉字数×3)>2000 就会出错~~~~~~
      

  6.   

    如果我把数据库的表字段改成Varchar2(1000)
    600个汉字在预编译时不会报异常
    执行时报异常:
    java.sql.SQLException: ORA-01401: 插入的值对于列过大
    这应该是正常的啊
    我觉得问题处在
    setString()那~~~~~
    望高手解答~~~~~~~~~~~~~~~~~
      

  7.   

    贴在blog上面了,见
    http://blog.csdn.net/kingfish/archive/2005/04/14/348062.aspx