zoukankan      html  css  js  c++  java
  • Oracle数据类型Clob读取

    代码
     //---插入CLOB的代码:

             
    import java.sql.*;
             
    import java.io.*;

            
    public class TestClob{
                  
    public void TestClob(){}
                          
    public static void main(String args[]){
                                  
    try{
                                       Class.forName(
    "oracle.jdbc.driver.OracleDriver");
                                       Connectionconn
    =DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:ora32","tjpt","tjpt");
      
                                    conn.setAutoCommit(
    false);
                                   
    //第一步:插入一个空的CLOB
                                    String sql1="insert into news(content,id) values (EMPTY_CLOB(),'1')";
                                    PreparedStatement ps1
    =conn.divpareStatement(sql1);
                                     ps1.executeUpdate();
                                   ps1.close();
      
                                    
    //第二步:取出该CLOB
                                     String sql2="select content from news for update";
                                    PreparedStatement ps2
    =conn.divpareStatement(sql2);
                                    ResultSet rs2
    =ps2.executeQuery();
                                    
    while (rs2.next()){
                                           oracle.sql.CLOB clob
    =(oracle.sql.CLOB)rs2.getClob(1);
                                            BufferedWriter out
    =new BufferedWriter(clob.getCharacterOutputStream());
                                            String content
    ="1234";//假定这是新闻的内容,当然可以也可以是其他的内容
                                            out.write(content,0,content.length());
                                            out.close();
                                                                  }
                                    conn.commit();
                                 }
         
    catch(Exception e){e.printStackTrace();}
                                                                                          }

                                                                    }

    //---读取CLOB的代码:

    import java.sql.*;
    import java.io.*;

    public class ReadClob{
           
    public void ReadClob(){}
                  
    public static void main(String args[]){
                 
    try{
                     Class.forName(
    "oracle.jdbc.driver.OracleDriver");Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora32","tjpt","tjpt");                                                                                
        
       String sql1
    ="select content from news";
       PreparedStatement ps1
    =conn.divpareStatement(sql1);
    ResultSet rs1
    =ps1.executeQuery();
      
       
    while (rs1.next()){

        oracle.sql.CLOB clob
    =(oracle.sql.CLOB)rs1.getClob(1);
        BufferedReader in
    =new BufferedReader(clob.getCharacterStream());
                StringWriter out
    =new StringWriter();
                
    int c;
                
    while((c=in.read())!=-1){
                out.write(c);
                                     }
                String content
    =out.toString();
                System.out.println (content);
    //输出CLOB内容
                   }
            }
         
    catch(Exception e){e.printStackTrace();}
         }}  
  • 相关阅读:
    mysql02-mysql的json操作函数
    一个mysql表最多可以有几列? 一个mysql表最多可以创建多少个索引? 单个索引最多可以包含多少个列? 一个索引最多可以有多长?这个几个问题你都不一定知道正确答案
    转载-mysql 数据库的设计三范式
    转载-Java 为什么是值传递
    Navicat远程连接不上mysql解决方案
    windows系统如何查看端口被占用、杀进程
    mysql01-mysql基础知识
    mysql 远程连接速度慢的解决方案
    centos8 安装 jdk
    CentOS8下安装mysql8
  • 原文地址:https://www.cnblogs.com/ding0910/p/1663594.html
Copyright © 2011-2022 走看看