`
kalogen
  • 浏览: 878225 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java基础之操作Oracle CLOB

    博客分类:
  • Java
阅读更多
//取CLOB中的内容(不包含图片)

  public String query(String strQuery) throws SQLException{

  if (con==null || con.isClosed()) {

  pool = ConnectionPool.getInstance();

  con = pool.getConnection();

  }

  Statement st = con.createStatement();

  ResultSet rs = st.executeQuery(strQuery);

  String line = "" ;

  String content = "";

  while (rs.next()){

  Clob clob = rs.getClob("content"); //和提取一般对象一样

  //   InputStream is = rs.getAsciiStream(1); //特殊的,对于与得到Clob的流

  //   BufferedReader br = new BufferedReader(new InputStreamReader(is));

  //

  //   while(null != (line = br.readLine())){

  //    //System.out.println(line);

  //    content += line;

  //   }

  //   is.close();

  long longLen = clob.length();

  content = clob.getSubString(1L, (int) longLen);

  }

  rs.close();

  st.close();

  con.close();

  return content;

  }

  //写入CLOB

  public Boolean update(DynaActionForm listForm) throws SQLException, IOException {

  // TODO 自动生成方法存根

  String content = (String) listForm.get("content");

  try {

  if (con==null || con.isClosed()) {

  pool = ConnectionPool.getInstance();

  con = pool.getConnection();

  }

  con.setAutoCommit(false);

  //插入一个空CLOB

  //String insertSql = "insert into  Client_PUBBLOB(id,content) values('1',empty_clob())";

  //查询插入的空CLOB

  String selectSql = "select content from  Client_PUBBLOB where id = '1' for update";

  //PreparedStatement  stmt = con.prepareStatement(insertSql);

  //stmt.executeUpdate();

  //stmt.close();

  //lock this line

  PreparedStatement pstmt = con.prepareStatement(selectSql);

  String emptyClobSql="update Client_PubBLOB set content=empty_clob() where id=1";

  PreparedStatement pstmt2=con.prepareStatement(emptyClobSql);

  pstmt2.executeUpdate();

  pstmt2.close();

  ResultSet rs = pstmt.executeQuery();

  if(rs.next()){

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

  //System.out.println("要修改的content:" + content);

  //为CLOB写信息

  String sql1="update Client_PubBLOB set content=? where id=1";

  clob.putChars(1, content.toCharArray());

  //    String s = clob.getSubString((long)1,(int)clob.length()-1);

  //    System.out.println("当前的clob内容是: " + s);

  pstmt=con.prepareStatement(sql1);

  pstmt.setClob(1,clob);

  pstmt.executeUpdate();

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

  //    String s = clob.getSubString((long)1,(int)clob.length()-1);

  //    System.out.println(s);

  }

  con.commit();

  pstmt.close();

  } catch (SQLException e) {

  con.rollback();

  } finally {

  con.setAutoCommit(true);

  con.close();

  }

  return listForm;

  }

  //不过貌似也可以直接写String进CLOB中,比如

  String data= dataInfo.getDetail();

  cs.setString(1, newsInfo.getSubject());

  cs.setString(2, newsInfo.getAuthor());

  cs.setString(3, newsdetail);



分享到:
评论

相关推荐

    java中操作oracle的CLOB字段精解

    Java 中操作 Oracle 的 CLOB 字段精解 Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)...

    java读写oracle clob字段

    在Java中,Oracle的CLOB操作通常涉及到以下几个关键步骤: 1. **建立数据库连接**: - 使用`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码来创建数据库连接。例如: ```java Connection ...

    运用Java如何存取Oracle中的CLOB类型字段

    本文将详细介绍如何使用Java对Oracle中的CLOB类型字段进行操作。 #### CLOB简介 CLOB是Oracle数据库用于存储大型文本数据的一种数据类型,它可以存储最大为4GB的字符数据。在处理CLOB数据时,通常会涉及到以下几种...

    java存储oracle中的clob类型

    本文主要介绍了在Java中处理Oracle数据库CLOB类型的基本方法,包括CLOB的读写操作、中文编码问题的处理以及一些额外的注意事项。通过这些知识点的学习,可以更高效地完成与Oracle数据库的交互任务。

    Oracle导出Clob,Blob工具

    2. **Oracle.ManagedDataAccess.dll**:这是Oracle官方提供的Managed Driver,它是一个.NET Framework库,允许开发者在.NET环境中直接访问Oracle数据库,支持Clob和Blob操作。 3. **SqlSugar.dll**:这是一个流行的...

    JAVA对clob的操作

    CLOB操作与BLOB操作类似,但是在获取java.sql.Clob对象后需要强制转换为oracle.sql.CLOB对象,以便使用getCharacterOutputStream()方法将数据写入CLOB字段。 三、出库操作 出库操作可以使用ResultSet.getBlob()或...

    iBATIS操作Oracle CLOB数据

    综上所述,通过iBATIS操作Oracle的CLOB数据,需要对iBATIS的映射文件、类型处理器以及Oracle的CLOB特性有深入理解。在实际开发中,合理配置和使用这些机制,能够有效地管理大量文本数据,同时保持代码的简洁性和可...

    java调用oracle含有clob参数的存储过程.doc

    Java 调用 Oracle 含有 CLOB 参数的存储过程是一种常用的数据库操作方式,下面是该过程的详细介绍: 1. 连接数据库 在 Java 中连接 Oracle 数据库需要使用 Oracle 的 JDBC 驱动程序,在本文中使用的驱动程序为 ...

    clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle

    对于CLOB和BLOB字段,Oracle JDBC驱动提供了`oracle.jdbc.driver.OracleClob`和`oracle.jdbc.driver.OracleBlob`类,它们实现了Java的标准接口`java.sql.Clob`和`java.sql.Blob`。这两个接口提供了读取和写入大数据...

    java读取oracle数据库中clob字段.txt

    java读取oracle数据库中clob字段 把oracle数据库中字段类型为clob的字段值以字符串的形式读取出来

    ibatis oracle clob

    标题 "ibatis oracle clob" 涉及到的是在Java开发中,使用iBATIS框架与Oracle数据库交互时处理CLOB(Character Large Object)类型数据的问题。CLOB是Oracle数据库用于存储大文本数据(如XML文档、长篇文章等)的...

    jdbc连接例子 Oracle CLOB转换为String java调用存储过程之输出游标

    标题中的“jdbc连接例子 Oracle CLOB转换为String java调用存储过程之输出游标”涉及到三个主要的Java数据库编程知识点:JDBC连接、Oracle数据库中的CLOB类型处理以及通过Java调用存储过程处理输出游标。 1. JDBC...

    spring+hibernate操作oracle的clob字段

    在J2EE开发中,处理大数据对象(如大文本或二进制数据)时,Oracle数据库的CLOB...通过以上配置和操作,你可以在Spring和Hibernate的环境中顺利地对Oracle数据库的CLOB字段进行读写,满足J2EE应用中的大数据存储需求。

    图片存入Oracle中,用clob和blob两种方式

    - **准备环境**:首先确保已经安装了Oracle数据库客户端和相应的驱动程序,例如JDBC驱动,以便通过编程语言(如Java、Python等)与数据库交互。 - **连接数据库**:使用相应的连接字符串、用户名和密码建立与...

    读取oracle数据库中clob字段的值

    在Java中,读取Oracle数据库中的CLOB字段可以通过以下步骤实现: 1. **获取CLOB对象**: 首先,通过执行查询语句并从结果集中获取CLOB对象。示例代码中的`lookmail[6]`表示从查询结果的第7个元素(下标为6)获取...

    hibernate存取oracle的clob

    这里需要注意的是,`Clob` 类型在 Java 中表示为 `java.sql.Clob`,而在 Oracle 中则使用 `oracle.sql.CLOB`。 #### 3. 存储 CLOB 数据 接下来介绍如何通过 Hibernate 将 CLOB 数据保存到 Oracle 数据库中。 **...

    sql server中的image类型的数据导出到oracle的clob字段中

    为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java 语言和 JDBC 驱动程序。下面是一个示例代码,演示如何将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中: ...

    weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 类型转换解决办法

    这是因为 WebLogic 服务器为了更好地管理和操作数据库连接,会使用自己的包装类 `weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB` 来表示 CLOB 类型的数据,而不是直接使用 Oracle 提供的标准 `oracle.sql.CLOB` 类。...

    Oracle bolb转换Base64 CLOB.txt

    Oracle slq bolb转换Base64 CLOB

Global site tag (gtag.js) - Google Analytics