网上常见的例子总是将文本文件上传至数据库的方法。今天在做文档管理相关系统时,需要将网页上的文本输入框(textarea或input)中的内容,上传到ORACLE数据库的CLOB字段中去。在网上找了好长时间,总算有所收获,现将方法总结如下,其中部分代码为其它网友的源码:

一、上传

private void updateContent(Connection conn, Information info) throws Exception {

PreparedStatement pstmt = conn.prepareStatement(

"SELECT CONTENT FROM INFO_CONTENT WHERE ID=? FOR UPDATE");

pstmt.setInt(1, info.getId());

ResultSet rs = pstmt.executeQuery();

/* 取出此CLOB对象 */

if (rs.next()) {

//Weblogic这样写

OracleThinClob clob = (OracleThinClob) rs.getClob(1);

//其它服务器这样写

//oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob(1);

/* 向CLOB对象中写入数据 */

/*

//保存文件

//BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());

//BufferedReader in = new BufferedReader(new FileReader(filename));

*/

//保存字符串

Writer out = clob.getCharacterOutputStream();

out.write(info.getContent());

out.flush();

out.close();

rs.close();

pstmt.close();

}

}

二、在jsp中显示

public Information getInformation(int id) throws Exception {

Information base = new Information();

Connection conn = null;

try {

conn = DBConnect.GainDBConnect();

PreparedStatement ps = conn.prepareStatement(

"SELECT * FROM INFO_CONTENT WHERE ID=?");

ps.setInt(1, id);

ResultSet rs = ps.executeQuery();

while (rs.next()) {

java.sql.Clob clob = (java.sql.Clob) rs.getClob("CONTENT");

/* 以字符形式输出 */

Reader out = new BufferedReader(clob.getCharacterStream());

BufferedReader bfClob = new BufferedReader(out);

String strClob = bfClob.readLine();

StringBuffer sbResult = new StringBuffer();

while (strClob != null) {

sbResult.append(strClob);

strClob = bfClob.readLine();

}

base.setContent(sbResult.toString());

out.close();

}

rs.close();

ps.close();

}

catch (Exception ex) {

System.out.println(ex);

throw ex;

}finally {

conn.close();

}

return base;

}

转载请注明来源网站:www.itxm.cn谢谢!

分享到:

存clob为空的值_将网页文本(HTML)保存到ORACLE数据库CLOB字详解相关推荐

  1. 存clob为空的值_给Oracle数据库中CLOB字段插入空值

    遇到往ORACLE数据库中插入数据时总是报ORA-01084 invalid argument in OCI call错误,经分析是因为表中的一个字段类型为CLOB,并且可为空,当在给该字段插入空值时 ...

  2. oracle数据库sga用途_关于oracle数据库中SGA详解

    1 名称 1.1 组成 SGA主要由数据高速缓冲区(Database Buffer Cache).共享池(Shared Pool).重做日志缓冲区(Redo Log Cache).大型池(Large ...

  3. ★核心关注点_《信息系统项目管理师考试考点分析与真题详解》

    ★核心关注点_<信息系统项目管理师考试考点分析与真题详解> 真诚感谢你选用<信息系统项目管理师考试考点分析与真题详解>作为高级项管的辅导用书.对于使用该书的读者们,在备考201 ...

  4. android数据库给单选赋值,如何使用android studio将单选按钮的值保存到mysql数据库?...

    我想创建一个投票应用程序,其中有不同的职位,其中有两个职位每个都有两个联系人.我希望当我选择一个人记录到数据库. [职位的disgn与它的参赛者部] 下面是XML代码的一部分:如何使用android ...

  5. php oracle 大字段,php oracle数据库clob和nclob字段

    php oracle数据库clob和nclob字段 nclob类型 1.nclob不能使用php的stream_get_contents来获取数据库的资源内容, 2.并且nclob只能使用to_cha ...

  6. 存clob为空的值_oracle clob 存储空间

    ORACLE clob字段整理 一.CLOB字段的业务说明:CLOB为字符LOB,是LOB 的一种.这种类型用于存储大量的文本信息,如XML 或者只是纯文本.这个数据类型需要进行字符集转换,也就是说, ...

  7. java mysql nclob_java向oracle数据库Clob读取,写入数据

    写入数据 1. 向oracle clob字段创建一个空的 empty_clob()对象.insert  into PTR_AssetXml(cChr_AssetPlanId,cChr_AssetDat ...

  8. c++定义一个动态全局变量_静态链接与动态链接的宏观概述及微观详解

    静态链接与动态链接的宏观概述及微观详解 第一部分 宏观概述 1. 静态链接 静态链接就是在程序运行前,链接器通过对象文件中包含的重定位表,完成所有重定位操作,并最终形成一个在运行时不需要再次进行依赖库 ...

  9. c2064 项不会计算为接受0个参数的函数_【JS必知必会】高阶函数详解与实战

    本文涵盖 前言 高级函数概念 函数作为参数的高阶函数 map filter reduce sort详解与实战 函数作为返回值的高阶函数 isType函数与add求和函数 如何自己创建高阶函数 前言 一 ...

最新文章

  1. NGUI_Depth
  2. python列表的用法
  3. AB1601 IO口反应延时的问题
  4. WPF 实现倒计时转场动画~
  5. Android之如何解决Android studio运行出现的HAX kernel modules is not installed
  6. D. Best Edge Weight(最小生成树 + 树链剖分)(Codeforces Round #423 (Div. 1, rated, based on VK Cup Finals))
  7. FineUI(专业版)v3.0.0 发布,手机、平板和桌面全支持!
  8. ubuntu 13.04安装注意事项和ROOT密码设置
  9. pyechart图像示例与细节修改资料
  10. poj 1006 java_POJ 1006 Java:中国剩余定理
  11. 大数据在消防安全中的新应用
  12. 在js中通过location.href方式跳转页面并在路径上传递参数中文乱码解决
  13. Python: str、datetime、time、seconds
  14. samba端口号修改_samba 端口号(samb端口号)
  15. php 改变图片大小,如何把照片尺寸改小 电子照片尺寸怎么改
  16. mysql_sniffer安装
  17. 天天向上的力量python代码解释_天天向上的力量 B
  18. 【C#进阶四】详细总结C#中的文件和I/O流之文件和目录(File 、 FileInfo、Directory、DirectoryInfo和Path)
  19. POE交换机供电知识
  20. 开源为什么是“白色”的?

热门文章

  1. 服务器BMC、BIOS、IPMI、UEFI技术解析
  2. CPU Cache原理与示例
  3. Docker基本原理概述
  4. 满足实时人工智能的计算需求
  5. 5G和AI机器人平台
  6. HarmonyOS 输入框TextField的使用
  7. echarts数据变了不重新渲染,以及重新渲染了前后数据会重叠渲染的问题
  8. 洛谷 1774 最接近神的人
  9. 2022-2028年中国餐具行业市场研究及前瞻分析报告
  10. Usage and Idioms——Categories