我们在Oracle数据库存储的字符数据一般是用varchar2,但如果字符长度4000时,varchar2就存不下了,我们可以改用clob.

方法/步骤

  1. 1

    首先说一下在修改数据库字段类型时遇到的问题。

  2. 2

    我是用PL/SQL 客户端直接改类型,将varchar2(4000)改为CLOB,结果提示‘ORA-22858:invalid alteration of datatype’。

  3. 3

    然后我把数据都删除了,再改类型,还是这个提示信息。网上提示的方法是“a=b,b=c,c=a”,我试了试,还是不行。于是乎,我就COPY出建表的SQL语句,然后把表删除,把SQL语句中的相应类型改为CLOB,创建表,这样就可以了。

  4. 4

    右击要修改类型的表,选择‘查看’,打开的查看表窗口,选择右下角的‘查看SQL’,这里就是建表语句,把它们COPY出来。

  5. 5

    把创建表的sql语句粘贴到sql窗口,将要修改的字段的数据类型改为CLOB,全选中SQL语句,按F8执行,或者按工具样上的齿轮按钮。

    这样表就创建了,类型也改了。

  6. 6

    添加数据后,clob数据类型的字段是这样显示的。

  7. 7

    ResultSet rs =。。。。。

    //读取操作

    oracle.sql.CLOB readClob=(oracle.sql.CLOB)rs.getClob("data");

  8. 8

    //写出操作

    writerClob.putString(1, "data clob");

    ......

    preparedStatement.setClob(1,writerClob);

     

    END
(共篇)
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。