我试过varchar2  和 long  貌似都不行   大概最多能存 还不到 1000 个汉字多字段存  比较麻烦  呵呵。 请教各位大侠。我至少需要 5000个汉字的空间。 谢谢了。

解决方案 »

  1.   

    怎么用啊。 各位  insert 和  select  / 也是跟字符串 一样的 用法吗?需要 什么转换吗?
      

  2.   


    不好意思,错了,是clob,敲快了。
      

  3.   

    11:16:36 scott@TUNGKONG> create table t(id int,txt clob);表已创建。已用时间:  00: 00: 00.07
    11:16:39 scott@TUNGKONG> insert into t values (1,'AAAAAAAAAAAAAAAAAAAAAAAAAAAA');已创建 1 行。已用时间:  00: 00: 00.00
    11:16:50 scott@TUNGKONG> insert into t values (1,'测试');已创建 1 行。已用时间:  00: 00: 00.01
      

  4.   

    用CLOB,CLOB的使用和VARCHAR2一样,不用转换
      

  5.   

    我试了下  还是不行呢 。 跟 varchar2 和 long 几乎没什么变化  错误信息是  [Microsoft][ODBC driver for Oracle][Oracle]ORA-01704:字符串文字太长我用  SQLPlus insert大约超过 1000个汉字 就 也会报错什么  输入被截断为 多少个 字符 SP2-0027:输入太长(>2499个字符)-行以忽略 我是把那个字段改为 Clob 了 。请教 。 急。。
      

  6.   

    你的什么版本?
    你看看我的这个有多长?SQL> select * from t1;no rows selectedSQL> declare
      2    s nvarchar2(20);
      3    s1 nclob;
      4  begin
      5    s1:='';
      6    s:='汉字测试';
      7    for i in 1..2000
      8    loop
      9      s1:=s1||s;
     10    end loop;
     11    dbms_output.put_line(s1);
     12    insert into t1 values(2,s1);
     13  end;
     14  /PL/SQL procedure successfully completed.SQL> select * from t1;        ID
    ----------
    TXT
    --------------------------------------------------------------------------------
             2
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
      

  7.   


    SQL> select dbms_lob.substr(txt,4000,4001) from t1;DBMS_LOB.SUBSTR(TXT,4000,4001)
    --------------------------------------------------------------------------------
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试DBMS_LOB.SUBSTR(TXT,4000,4001)
    --------------------------------------------------------------------------------
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试DBMS_LOB.SUBSTR(TXT,4000,4001)
    --------------------------------------------------------------------------------
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试DBMS_LOB.SUBSTR(TXT,4000,4001)
    --------------------------------------------------------------------------------
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试DBMS_LOB.SUBSTR(TXT,4000,4001)
    --------------------------------------------------------------------------------
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试汉字测试
    SQL>
      

  8.   

    Read from Clob
    # CLOB clob = (CLOB) rs.getClob(3);  
    # char[] chars = new char[(int) clob.getLength()];//(int)clob.length();  
    # clob.getCharacterStream().read(chars);  
    # String content = new String(chars);  
    Save 2 Clob
    # // 插入空CLOB  
    #             String insertEmpty = "insert into content_text values(" + insertkey  
    #                     + ",'" + text.getTextType() + "',empty_clob())";  
    #             boolean insertResult = executeUpdate(insertEmpty);  
    #             if (insertResult == false) {  
    #                 throw new SQLException();  
    #             }  
    #   
    #             // 获取CLOB类型列text_content,并获取更新锁,锁定当前行直至更新结束  
    #             String getForUpdate = "select text_content from content_text where pk_content_text = "  
    #                     + insertkey + " for update";  
    #             rs = executeQuery(getForUpdate);  
    #             rs.first();  
    #             CLOB content = (CLOB) rs.getClob("text_content");  
    #             rs.close();  
    #             content.setString(1L, text.getContent());  
    #   
    #             // 更新text_content列  
    #             String updateSQL = "update content_text set text_content = ? where pk_content_text = ?";  
    #             PreparedStatement pst = conn.prepareStatement(updateSQL);  
    #             pst.setClob(1, content);  
    #             pst.setInt(2, insertkey);  
    #             pst.execute();  
    #             pst.close();