oracle数据库中如何处理clob字段方法介绍

在知识库的建立的时候,用普通VARCHAR2存放文章是显然不够的,本文将详细将介绍oracle数据库中如何处理clob字段方法,需要的朋友可以参考下

在知识库的建立的时候,用普通VARCHAR2存放文章是显然不够的,只有区区4000的字节,放不了多少字,
而CLOB数据类型,则能最多存放8G的数据。但是这个字段处理起来有比较多的特殊性,记录一下。
插入:
直接写在SQL里面是不行的,一来SQL脚本有字符数限制,而来文章内容包含许多特殊字符,如换行,引号,
之类的东西,很麻烦。网上流行通用做法是先插入一个空CLOB字段,用empty_clob()方法来创建空字段,如:
代码如下:
INSERT INTO T_TOPIC(TOPIC_ID,TOPIC_CONTENT) VALUES(‘0000001′,empty_clob());

然后再用SELECT TOPIC_CONTENT FROM T_TOPIC WHERE TOPIC_ID=’0000001’FOR UPDATE的查询语句,
来构造一个更新的STATEMENT,在获取到ResultSet之后,对CLOB字段进行更新。
代码如下:
ResultSet rs = pstm.executeQuery();
if(rs.next()){
oracle.sql.CLOB lob =(CLOB)rs.getClob(1);
try {
Writer os = lob.getCharacterOutputStream();
os.write(dr.getField(“FLD_CONTENT”).asString());
os.flush();
} catch (IOException e) {
e.printStackTrace();
}
}

这个插入和更新操作要放在事务中,即获取到Connection后要设置setAutoCommit(false);
更新:
更新的时候也是采用SEELCT … FOR UPDATE方式
也要设置事务

读取:
代码如下:
CLOB clob = (CLOB)rs.getClob(“FLD_CONTENT”);
Reader reader = clob.getCharacterStream();
StringBuffer sb=new StringBuffer();
char[] cb = new char[1024];
try {
for(int len = reader.read(cb);len>0;len= reader.read(cb)){
sb.append(cb,0,len);
}
} catch (IOException e) {
throw new SQLException(“读取文章内容失败.”,e);
}

查询的特殊性:
有CLOB字段的数据表,在SQL语句中不能使用DISTINCT关键字进行筛选,即便关键字不用在CLOB字段名前,
实际上DISTINCT关键字都是对于SQL中所有字段有效。而CLOB字段是不能进行如同LIKE类似的匹配的,所以,
不能进行去重复操作。
两种解决办法:
1、在SQL中调用方法转成VARCHAR2字段后,再DISTINCT,这种方式的局限显而易见。
2、改变SQL脚本的书写方式,先查出没有CLOB字段的集合,然后在在外层用EXISTS关键字或IN关键字进行筛选。
代码如下:
//String sqlsel2 = “select jsonbody from db_ps_listcatalog where” +
// ” listtype =’sh11′ for update”;
// String col=”jsonbody”;

public boolean updateClob(String sql,String col,String buf){
boolean flag=false;
Statement stem=null;
Connection conn=null;
ResultSet rs=null;
Writer wr = null;
try{
conn= dp.getConnection();
conn.setAutoCommit(false);
stem=conn.createStatement();
rs = stem.executeQuery(sql);
if (rs.next()) {
CLOB clob = (CLOB) rs.getClob(col);
java.lang.reflect.Method methodToInvoke = clob.getClass().getMethod(
“getCharacterOutputStream”, (Class[]) null);
wr = (Writer) methodToInvoke.invoke(clob, (Object[]) null);
BufferedWriter bw = new BufferedWriter(wr);
bw.write(buf);
bw.flush();
bw.close();
conn.commit();
conn.close();
}
flag=true;
} catch (Exception ex){
try {
conn.rollback();
} catch (SQLException e) {
e.printStackTrace();
}
}
return flag;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1800664.html

(0)
上一篇 2025年2月21日 12:56:12
下一篇 2025年2月21日 12:56:27

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Java 函数调用与编译器指令是如何映射的?

    Java 函数调用与编译器指令的映射 Java 是一种编译型语言,这意味着在运行 Java 程序之前,它会被编译成字节码。字节码是一种平台无关的指令集,可以在任何支持 Java 虚拟机的 (JVM) 平台上运行。 函数调用 当 Java 程…

    2025年3月14日
    200
  • java怎么安装安装

    如何安装 Java?下载并安装 Java 开发工具包 (JDK);根据操作系统和功能要求选择合适的 JDK 版本;安装完成后,设置环境变量以设置 Java 的安装位置;使用命令 java -version 验证安装是否成功。 如何安装 Ja…

    2025年3月14日
    200
  • java源码怎么安装

    Java 源码安装分为以下步骤:安装 Java 开发工具包 (JDK);配置系统环境变量指向 JDK 安装目录;使用 javac 编译器编译 Java 源码;使用 java 命令运行编译后的 Java 程序。 Java 源码安装指南 安装 …

    2025年3月14日
    200
  • 怎么安装java 11

    Java 11 安装步骤:下载安装程序;运行安装程序;设置 JAVA_HOME 环境变量;添加 Java 到 PATH 环境变量;验证安装。 如何安装 Java 11 简介 Java 11 是 Java 平台的一个主版本,于 2018 年 …

    2025年3月14日
    200
  • 怎么安装java 18

    如何安装 Java 18?访问 Oracle Java 下载页面并选择与您的平台匹配的安装程序(Windows、macOS 或 Linux)。下载并运行安装程序,接受许可协议并选择安装目录。安装完成后,通过设置环境变量(可选)来轻松使用 J…

    2025年3月14日
    200
  • 要怎么安装好java

    安装 Java 的步骤:下载 Java 开发工具包 (JDK) 和 Java 运行时环境 (JRE),请确保与您的操作系统兼容。安装 Java 双击安装程序并按照提示进行操作。配置环境变量 (仅限 Windows):在系统变量中设置 JAV…

    2025年3月14日
    200
  • java标准版怎么安装

    要在 Windows、macOS 和 Linux 上安装 Java 标准版 (JDK),需要以下步骤:访问 Oracle JDK 下载页面并选择相应安装程序;在 Windows 中,按照提示安装并验证;在 macOS 中,安装 .dmg 文…

    2025年3月14日
    200
  • 安装java 怎么安装

    回答: 安装 Java 需要以下步骤:下载 Java 安装程序运行安装程序接受许可协议选择安装类型(建议:JRE 和 JDK)选择安装位置点击“安装”按钮安装完成后,点击“关闭”按钮(可选:设置 JAVA_HOME 环境变量)在命令行中验证…

    2025年3月14日
    200
  • win10安装怎么安装java

    在 Windows 10 上安装 Java 的步骤如下:下载 Java 安装程序运行安装程序并同意许可协议选择安装组件(JRE、JDK、源代码)选择安装路径(默认:C:Program FilesJavajdk-18.0.2)完成安装可选:配…

    2025年3月14日
    200
  • java程序怎么安装

    安装 Java 程序需要以下步骤:下载与操作系统和架构相符的 Java 开发工具包 (JDK)。安装 JDK 并按照屏幕提示进行操作。配置环境变量,包括 JAVA_HOME 和 Path。验证安装,键入命令 java -version 查看…

    2025年3月14日
    200

发表回复

登录后才能评论