知识大全 JDBC存取ORACLE大型数据对象LOB几种情况的示范类

Posted

篇首语:犀渠玉剑良家子,白马金羁侠少年。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JDBC存取ORACLE大型数据对象LOB几种情况的示范类相关的知识,希望对你有一定的参考价值。

JDBC存取ORACLE大型数据对象LOB几种情况的示范类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  import java io *;   import java util *;   import java sql *;     public class LobPros          /**     * ORACLE驱动程序     */     private static final String DRIVER = oracle jdbc driver OracleDriver ;       /**     * ORACLE连接用URL     */     private static final String URL = jdbc:oracle:thin:@test : :orac ;       /**     * 用户名     */     private static final String USER = user ;       /**     * 密码     */     private static final String PASSWORD = pswd ;       /**     * 数据库连接     */     private static Connection conn = null;       /**     * SQL语句对象     */     private static Statement stmt = null;       /**     * @roseuid EDA E BC     */     public LobPros()                 /**     * 往数据库中插入一个新的CLOB对象     *     * @param infile 数据文件     * @throws java lang Exception     * @roseuid EDA A BC     */     public static void clobInsert(String infile) throws Exception           /* 设定不自动提交 */       boolean defaultCommit = conn getAutoCommit();       conn setAutoCommit(false);         try         /* 插入一个空的CLOB对象 */         stmt executeUpdate( INSERT INTO TEST_CLOB VALUES ( EMPTY_CLOB()) );         /* 查询此CLOB对象并锁定 */         ResultSet rs = stmt executeQuery( SELECT CLOBCOL FROM TEST_CLOB WHERE ID= FOR UPDATE );         while (rs next())           /* 取出此CLOB对象 */           oracle sql CLOB clob = (oracle sql CLOB)rs getClob( CLOBCOL );           /* 向CLOB对象中写入数据 */           BufferedWriter out = new BufferedWriter(clob getCharacterOutputStream());           BufferedReader in = new BufferedReader(new FileReader(infile));           int c;           while ((c=in read())!= )             out write(c);                     in close();           out close();                 /* 正式提交 */         mit();       catch (Exception ex)         /* 出错回滚 */         conn rollback();         throw ex;               /* 恢复原提交状态 */       conn setAutoCommit(defaultCommit);           /**     * 修改CLOB对象(是在原CLOB对象基础上进行覆蓋式的修改)     *     * @param infile 数据文件     * @throws java lang Exception     * @roseuid EDA B     */     public static void clobModify(String infile) throws Exception           /* 设定不自动提交 */       boolean defaultCommit = conn getAutoCommit();       conn setAutoCommit(false);         try         /* 查询CLOB对象并锁定 */         ResultSet rs = stmt executeQuery( SELECT CLOBCOL FROM TEST_CLOB WHERE ID= FOR UPDATE );         while (rs next())           /* 获取此CLOB对象 */           oracle sql CLOB clob = (oracle sql CLOB)rs getClob( CLOBCOL );           /* 进行覆蓋式修改 */           BufferedWriter out = new BufferedWriter(clob getCharacterOutputStream());           BufferedReader in = new BufferedReader(new FileReader(infile));           int c;           while ((c=in read())!= )             out write(c);                     in close();           out close();                 /* 正式提交 */         mit();       catch (Exception ex)         /* 出错回滚 */         conn rollback();         throw ex;               /* 恢复原提交状态 */       conn setAutoCommit(defaultCommit);           /**     * 替换CLOB对象(将原CLOB对象清除 换成一个全新的CLOB对象)     *     * @param infile 数据文件     * @throws java lang Exception     * @roseuid EDA BF E     */     public static void clobReplace(String infile) throws Exception           /* 设定不自动提交 */       boolean defaultCommit = conn getAutoCommit();       conn setAutoCommit(false);         try         /* 清空原CLOB对象 */         stmt executeUpdate( UPDATE TEST_CLOB SET CLOBCOL=EMPTY_CLOB() WHERE ID= );         /* 查询CLOB对象并锁定 */         ResultSet rs = stmt executeQuery( SELECT CLOBCOL FROM TEST_CLOB WHERE ID= FOR UPDATE );         while (rs next())           /* 获取此CLOB对象 */           oracle sql CLOB clob = (oracle sql CLOB)rs getClob( CLOBCOL );           /* 更新数据 */           BufferedWriter out = new BufferedWriter(clob getCharacterOutputStream());           BufferedReader in = new BufferedReader(new FileReader(infile));           int c;           while ((c=in read())!= )             out write(c);                     in close();           out close();                 /* 正式提交 */         mit();       catch (Exception ex)         /* 出错回滚 */         conn rollback();         throw ex;               /* 恢复原提交状态 */       conn setAutoCommit(defaultCommit);           /**     * CLOB对象读取     *     * @param outfile 输出文件名     * @throws java lang Exception     * @roseuid EDA D     */     public static void clobRead(String outfile) throws Exception           /* 设定不自动提交 */       boolean defaultCommit = conn getAutoCommit();       conn setAutoCommit(false);         try         /* 查询CLOB对象 */         ResultSet rs = stmt executeQuery( SELECT * FROM TEST_CLOB WHERE ID= );         while (rs next())           /* 获取CLOB对象 */           oracle sql CLOB clob = (oracle sql CLOB)rs getClob( CLOBCOL );           /* 以字符形式输出 */           BufferedReader in = new BufferedReader(clob getCharacterStream());           BufferedWriter out = new BufferedWriter(new FileWriter(outfile));           int c;           while ((c=in read())!= )             out write(c);                     out close();           in close();               catch (Exception ex)         conn rollback();         throw ex;               /* 恢复原提交状态 */       conn setAutoCommit(defaultCommit);           /**     * 向数据库中插入一个新的BLOB对象     *     * @param infile 数据文件     * @throws java lang Exception     * @roseuid EDA E F     */     public static void blobInsert(String infile) throws Exception           /* 设定不自动提交 */       boolean defaultCommit = conn getAutoCommit();       conn setAutoCommit(fal cha138/Article/program/Oracle/201311/18837

相关参考

知识大全 Oracle中大对象(lob)处理方法和实例

Oracle中大对象(lob)处理方法和实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在o

知识大全 JDBC存取Oralce数据库的注意几点事项

JDBC存取Oralce数据库的注意几点事项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Be

知识大全 用PHP操纵Oracle的LOB类型的数据

用PHP操纵Oracle的LOB类型的数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!《PHP+

知识大全 通过JDBC连接oracle数据库

通过JDBC连接oracle数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Java数据库连接

知识大全 JDBC+Hibernate将Blob数据写入Oracle

JDBC+Hibernate将Blob数据写入Oracle  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 通过JDBC连接oracle数据库的技巧

通过JDBC连接oracle数据库的技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java

知识大全 Oracle ADO数据存取

OracleADO数据存取  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ADO是ActiveD

知识大全 关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡

关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 浅谈存取Oracle当中扫描数据的方法

浅谈存取Oracle当中扫描数据的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  )全表扫描

知识大全 在DELPHI程序中使用ADO对象存取ODBC数据库

在DELPHI程序中使用ADO对象存取ODBC数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!