- 浏览: 466677 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
yuan_bin1990:
您好,请问下demo如何运行啊,准备研究研究,但不知道入口啊。 ...
ssh2(struts2+spring2.5+hibernate3.3)自动生成代码程序 -
luyulong:
[b][/b][i][/i][ ...
jQuery进度条插件 jQuery progressBar -
txin0814:
mark..
读取文件目录 -
vurses:
[align=center][color=red][size= ...
include 与 jsp:include区别 -
Roshan2:
http://lijiejava.iteye.com/blog ...
Spring AOP 入门实例
- create table TEST_CLOB
- (
- ID INTEGER not null,
- NAME VARCHAR2(20),
- CONTENT CLOB
- )
- alter table TEST_CLOB
- add primary key (ID);
create table TEST_CLOB ( ID INTEGER not null, NAME VARCHAR2(20), CONTENT CLOB ) alter table TEST_CLOB add primary key (ID);
- package com.logcd.common;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.InputStreamReader;
- import java.io.Reader;
- import java.io.Writer;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import org.apache.commons.io.FileUtils;
- import oracle.sql.CLOB;
- public class OracleClob {
- public static void main(String[] args) {
- Integer id = saveClobDataUseSQL("测试", getFileContentAsString(
- "D:/uploadDir/test.txt", true));
- readClobDataUseSQL(id, new File("D:/uploadDir/test2.txt"));
- }
- /**
- * 保存Clob数据
- *
- * @param name
- * 数据名称
- * @param data
- * 字串数据
- */
- @SuppressWarnings("deprecation")
- public static Integer saveClobDataUseSQL(String name, String data) {
- Connection conn = getConnection();
- Integer id = (int) (Math.random() * 100000);
- StringBuilder sqlBuilder = new StringBuilder();
- try {
- conn.setAutoCommit(false);
- Statement stmt = conn.createStatement();
- sqlBuilder.append("insert into TEST_CLOB(ID, NAME, CONTENT) ");
- sqlBuilder.append("values ( " + id);
- sqlBuilder.append(",'" + name + "'");
- sqlBuilder.append(", empty_clob()) ");// 插入一个空对象empty_clob()
- stmt.executeUpdate(sqlBuilder.toString());
- // 锁定数据行进行更新,注意“for update”语句
- String sqlUpd = "select CONTENT from TEST_CLOB where ID = " + id
- + " for update";
- ResultSet rs = stmt.executeQuery(sqlUpd);
- if (rs.next()) {
- // 得到java.sql.Clob对象后强制转换为oracle.sql.CLOB
- CLOB clob = (CLOB) rs.getClob("CONTENT");
- Writer outStream = clob.setCharacterStream(0L);
- // data是传入的字符串,定义:String data
- char[] c = data.toCharArray();
- outStream.write(c, 0, c.length);
- outStream.flush();
- outStream.close();
- conn.commit();
- stmt.close();
- }
- } catch (Exception e) {
- try {
- conn.rollback();
- id = null;
- } catch (SQLException e1) {
- e1.printStackTrace();
- }
- e.printStackTrace();
- } finally {
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return id;
- }
- /**
- * 读出数据并存成文件
- *
- * @param id
- * @param file
- */
- public static void readClobDataUseSQL(Integer id, File file) {
- Connection conn = getConnection();
- try {
- Statement st = conn.createStatement();
- String sql = "select CONTENT from TEST_CLOB where ID = " + id;
- ResultSet rs = st.executeQuery(sql);
- if (rs.next()) {
- CLOB clob = (CLOB) rs.getClob("CONTENT");
- String result = convertClobToString(clob);
- System.out.println(result);
- FileUtils.writeStringToFile(file,result, "utf-8");
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- /**
- * 将CLOB转换成字串
- * @param clob
- * @return
- */
- public static String convertClobToString(CLOB clob) {
- String reString = "";
- try {
- Reader is = clob.getCharacterStream();// 得到流
- BufferedReader br = new BufferedReader(is);
- String s = br.readLine();
- StringBuffer sb = new StringBuffer();
- while (s != null) {
- sb.append(s);
- sb.append("\n");
- s = br.readLine();
- }
- reString = sb.toString().trim();
- } catch(Exception e) {
- e.printStackTrace();
- }
- return reString;
- }
- /**
- * 取得数据库连接
- *
- * @return
- */
- public static Connection getConnection() {
- String driver = "oracle.jdbc.driver.OracleDriver";
- String url = "jdbc:oracle:thin:@195.2.199.5:1521:orcl";
- Connection conn = null;
- try {
- Class.forName(driver);
- conn = DriverManager.getConnection(url, "testdb", "logcd");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- return conn;
- }
- /**
- * 读取文件内容
- *
- * @param _url
- * @param isLocal
- * @return
- */
- public static String getFileContentAsString(String _url, boolean isLocal) {
- StringBuilder strb = new StringBuilder();
- try {
- InputStreamReader read = null;
- ;
- if (!isLocal) {
- URL url = new URL(_url);
- HttpURLConnection connection = (HttpURLConnection) url
- .openConnection();
- read = new InputStreamReader(connection.getInputStream());
- } else {
- File file = new File(_url);
- read = new InputStreamReader(new FileInputStream(file));
- }
- BufferedReader br = new BufferedReader(read);
- char[] cbuf = new char[1024];
- while (br.read(cbuf) != -1) {
- strb.append(cbuf);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return strb.toString();
- }
- }
发表评论
-
oracle 恢复误删除的表和误更新的表
2010-09-14 16:08 1848今天不小心把一个表删除了。呵呵 查找了下恢复的 ... -
oracle 表恢复
2010-09-14 15:56 1108在Oracle中可能不小心会DROP掉一个表,如果 ... -
eclipse, language:java; db:db2 ; dbDriver:jdbc(2)
2010-06-17 13:30 1721使用jdbc访问db2 1、 ecl ... -
Oracle常用及非常用函数
2010-06-16 21:47 841注:N表示数字型,C表 ... -
简单SQL 性能的优化
2010-06-16 21:27 7221.1 IN 操作符 用IN写 ... -
oracle提高查询效率
2010-06-16 21:25 874(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ... -
oracle查询/子查询/复制表和数据
2010-06-16 21:24 1520一、连接查询 1.内连接 内连接用于返回满足连接条件的 ... -
oracle索引与序列
2010-06-16 21:24 1264一、索引 索引和对应的表应该位于不同的表空间中(primary ... -
Oracle数据导入导出imp/exp命令和grant命令
2010-06-16 21:18 2076一、数据导入导出命令 Oracle数据导入导出imp/e ... -
Oracle格式化函数
2010-06-16 21:18 1381格式化函数 函数 返回类型 描述 例 ... -
oracle 统计/分析函数
2010-06-16 21:12 1126Oracle从8.1.6开始提供分析函数,分析函数用于计 ... -
oracle blob数据存取
2010-06-16 21:09 1090Oracle中的lob (Large Object)可以存储非 ... -
Oracle常见的问题总结
2010-06-16 20:40 956SQL语句 1. 获取有哪些用户在使用数据库 se ... -
Oracle函数大全
2010-06-12 17:31 702SQL 中的单记录函数1.ASCII 返回与指定的字符对应的十 ... -
Toad 9.7.2注册码
2009-12-03 21:49 2945TOAD的无限期注册码:5-88860-02883-29060 ... -
oracle导入导出命令详解
2009-11-06 10:29 1300ORACLE EXP/IMP 参数详解2008-01-09 1 ... -
好多常用oracle函数
2009-11-06 10:15 975·········10········20········30 ... -
12514 和12541的错误
2009-10-25 22:07 8451.CMD下执行lsnrctl start 2.CMD下执行 ... -
30个Oracle语句优化规则详解
2009-09-02 22:22 6301.选用适合的Oracle优化 ... -
Oracle公司内部数据库培训资料
2009-08-04 13:21 1158Oracle公司内部数据库培训资料
相关推荐
本教程将介绍如何使用Java来读取和写入Oracle数据库中的CLOB字段。 首先,我们需要引入相关的Java和Oracle JDBC驱动库。在上述代码中,我们看到`import oracle.jdbc.driver.OracleDriver;`,这表示我们将使用Oracle...
### 运用Java如何存取Oracle中的CLOB类型字段 #### 概述 在数据库操作中,经常会遇到处理大量文本数据的需求,例如存储文章、新闻、文档等。Oracle数据库提供了CLOB(Character Large Object)类型来存储大容量的...
- **准备环境**:首先确保已经安装了Oracle数据库客户端和相应的驱动程序,例如JDBC驱动,以便通过编程语言(如Java、Python等)与数据库交互。 - **连接数据库**:使用相应的连接字符串、用户名和密码建立与...
### Java存储Oracle中的CLOB类型知识点详解 #### 一、CLOB类型简介及Java操作方法 CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型,在Oracle数据库中被广泛使用,可以支持最大4GB的数据量。...
Oracle数据库在处理大对象(LOB)类型,如Clob(Character Large Object)和Blob(Binary Large Object)时,有时需要专门的工具来进行高效且安全的数据导出。这些字段通常存储大量的文本或二进制数据,比如长篇文档...
Java 中操作 Oracle 的 CLOB 字段精解 Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)...
CLOB操作与BLOB操作类似,但是在获取java.sql.Clob对象后需要强制转换为oracle.sql.CLOB对象,以便使用getCharacterOutputStream()方法将数据写入CLOB字段。 三、出库操作 出库操作可以使用ResultSet.getBlob()或...
为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java 语言和 JDBC 驱动程序。下面是一个示例代码,演示如何将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中: ...
对于CLOB和BLOB字段,Oracle JDBC驱动提供了`oracle.jdbc.driver.OracleClob`和`oracle.jdbc.driver.OracleBlob`类,它们实现了Java的标准接口`java.sql.Clob`和`java.sql.Blob`。这两个接口提供了读取和写入大数据...
在Java中,读取Oracle数据库中的CLOB字段可以通过以下步骤实现: 1. **获取CLOB对象**: 首先,通过执行查询语句并从结果集中获取CLOB对象。示例代码中的`lookmail[6]`表示从查询结果的第7个元素(下标为6)获取...
标题 "ibatis oracle clob" 涉及到的是在Java开发中,使用iBATIS框架与Oracle数据库交互时处理CLOB(Character Large Object)类型数据的问题。CLOB是Oracle数据库用于存储大文本数据(如XML文档、长篇文章等)的...
标题中的“jdbc连接例子 Oracle CLOB转换为String java调用存储过程之输出游标”涉及到三个主要的Java数据库编程知识点:JDBC连接、Oracle数据库中的CLOB类型处理以及通过Java调用存储过程处理输出游标。 1. JDBC...
这里需要注意的是,`Clob` 类型在 Java 中表示为 `java.sql.Clob`,而在 Oracle 中则使用 `oracle.sql.CLOB`。 #### 3. 存储 CLOB 数据 接下来介绍如何通过 Hibernate 将 CLOB 数据保存到 Oracle 数据库中。 **...
Oracle slq bolb转换Base64 CLOB
综上所述,通过iBATIS操作Oracle的CLOB数据,需要对iBATIS的映射文件、类型处理器以及Oracle的CLOB特性有深入理解。在实际开发中,合理配置和使用这些机制,能够有效地管理大量文本数据,同时保持代码的简洁性和可...
"Java 调用 Oracle 含有 CLOB 参数的存储过程" Java 调用 Oracle 含有 CLOB 参数的存储过程是一种常用的数据库操作方式,下面是该过程的详细介绍: 1. 连接数据库 在 Java 中连接 Oracle 数据库需要使用 Oracle ...
2. **反射调用**:对于 `weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB` 类型的对象,使用 Java 反射机制调用 `getVendorObj()` 方法,该方法返回一个 `oracle.sql.CLOB` 类型的对象。 3. **CLOB 数据读取**:无论是...
java读取oracle数据库中clob字段 把oracle数据库中字段类型为clob的字段值以字符串的形式读取出来
在 Java 中操作 Oracle 数据库中的 CLOB(Character Large Object)字段是一项常见的任务。CLOB 类型用于存储大量文本数据,如长篇文章或文档。本教程将详细介绍如何在 Java 中使用 JDBC 和 JNDI 连接访问 Oracle ...