我有一个字符串很长 有7000多个字符,需要存到表A的字段a中,请问下 a的类型应该是什么,我用的varchar2但只能存4000的个字节 

解决方案 »

  1.   

    我用过CLOB ,但还是说字符太长了 我用的是PLSQL工具
      

  2.   

    供参考:
    一、写入库:
    1、CREATE TABLE html_doc ( docname VARCHAR2(100) PRIMARY KEY,
    doc CLOB,
    insertdate DATE DEFAULT SYSDATE)
    tablespace data02;2、create or replace DIRECTORY htmldocs AS 'C:\html';3、CREATE OR REPLACE PROCEDURE insertHTML (dirname IN VARCHAR2,
                                            filename IN VARCHAR2)
    IS
      htmlfile BFILE;
      myclob  CLOB;
    BEGIN
      INSERT INTO html_doc (docname, doc)
      VALUES (filename, empty_clob())
      RETURNING doc into myclob;
      -- get a handle to the html file on the OS
      htmlfile := Bfilename(dirname,filename);
       -- open the file
      DBMS_LOB.fileOpen(htmlfile);
      -- copy the contents of the file into the empty clob
      DBMS_LOB.loadFromFile(myclob, htmlfile, dbms_lob.getLength(htmlfile));
      END insertHTML;   4、EXEC insertHTML('HTMLDOCS', 'test.html');
    检测是否已经将该文件存入到clob字段中。
    5、select dbms_lob.getlength(doc) from html_doc;
    二、从库读出:(看看这篇文章吧)http://www.chinaunix.net/bbsjh/8/2732.html
      

  3.   

    或者以流的形式写入,别用insert
    你可以google下这方面内容
      

  4.   

    长是因为sql太长了,不是因为clob容量不够.
    别把字符串直接拼sql里.用变量存储,然后用绑定变量的形式来insert