`
icess
  • 浏览: 252459 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在derby(Java DB) 中操作 clob 和 blob

阅读更多

在前面一篇文章中,

http://www.blogjava.net/51AOP/archive/2006/04/13/40975.html

简单介绍了 derby 的使用,有朋友问我derby 只不支持  blob和clob, 我到官方网站看看,在参考文档中给出来一个例子,整理一下 那来做个例子, 下面来看看如何在derby中操作 clob的例子吧.

在前面代码中加入如下一个方法. 

     public  Connection getConnection () {
       return  dbConnection;
     }

创建一个测试clob的表 sql语句如下:

private static final  String strCreateTestClobTeble = 
     "CREATE TABLE APP.documents (id INT, text CLOB(64 K))" ;
   
测试代码如下:

public static void  main ( String []  args ) {
       TestShutdown db =  new  TestShutdown () ;
         System.out.println ( db.getDatabaseLocation ()) ;
         System.out.println ( db.getDatabaseUrl ()) ;
         long  startTime = System.currentTimeMillis () ;
         System.out.println ( startTime ) ;
         db.connect () ;
         // 测试clob 数据
         File file =  new  File ( "test.txt" ) ;
     int  fileLenth =  ( int ) file.length () ;
    
     try  {
       // first ,create an inputStream
       InputStream is =  new  FileInputStream ( file ) ;
       PreparedStatement ps = db.getConnection () .prepareStatement ( "INSERT INTO APP.documents VALUES (?, ?)" ,Statement.RETURN_GENERATED_KEYS ) ;
       ps.setInt ( 1 ,  1477 ) ;
       // - set the value of the input parameter to the input stream
       ps.setAsciiStream ( 2 , is, fileLenth ) ;
       ps.executeUpdate () ;
       db.getConnection () .commit () ;
      
       System.out.println ( "write clob data over! \n and now read it out." ) ;
       //--- reading the columns
       ResultSet rs = db.getConnection () .createStatement () .executeQuery ( "SELECT text FROM APP.documents WHERE id = 1477" ) ;
       while ( rs.next ()) {
         Clob clob = rs.getClob ( 1 ) ;
         System.out.println ( clob.toString ()) ;
         InputStream ip = rs.getAsciiStream ( 1 ) ;
         int  c = ip.read () ;
         while ( c >  0 ) {
           System.out.print (( char ) c ) ;
           c = ip.read () ;
         }
       }
     }  catch  ( FileNotFoundException e ) {
       // TODO Auto-generated catch block
       e.printStackTrace () ;
     }  catch  ( SQLException e ) {
       // TODO Auto-generated catch block
       e.printStackTrace () ;
     }  catch ( IOException e ) {
      
     }
         db.disconnect () ;
     }
可见 在derby中操作 clob数据和其他数据库是一样的,blob也是一样的 这里就不在测试了.

 

其实 derby的使用和其他的数据库(如: mysql)使用基本上是一样的, 支持标准的sql 语句和jdbc. 唯一不同的就是要 编程知道数据保存的位置,和 编程控制数据库的开启和关闭.

该测试的完整代码请点击: http://icess.tengyi.cn/opensource/Derby/src/testcolb.html 

分享到:
评论

相关推荐

    JDBC中操作Blob、Clob等对象

    在JDBC(Java Database Connectivity)编程中,Blob和Clob是非常重要的数据类型。Blob(Binary Large Object)主要用于存储二进制大对象,如图像、音频文件等;而Clob(Character Large Object)则用于存储大量的文本...

    JDBC中操作Blob、Clob等对象 实例详细 非常详细

    本文详细介绍了如何在JDBC中操作Blob和Clob数据,包括创建包含Blob和Clob字段的表、插入和读取Blob/Clob数据的过程。通过这种方式,我们可以有效地管理和处理大量的二进制和文本数据,这对于构建复杂的应用程序来说...

    一款强大的多数据连接工具dbeaver,页面操作简洁。

    MySQL、Oracle、PostgreSQL、IBM DB2、Microsoft SQL Server、clickhouse、Sybase、ODBC、Java DB (Derby)、Firebird (Interbase)、HSQLDB、SQLite、Mimer、H2、IBM Informix、SAP MAX DB、Cache、Ingres、Linter、...

    DBeaver22很好用

    MySQL、Oracle、PostgreSQL、IBM DB2、Microsoft SQL Server、clickhouse、Sybase、ODBC、Java DB (Derby)、Firebird (Interbase)、HSQLDB、SQLite、Mimer、H2、IBM Informix、SAP MAX DB、Cache、Ingres、Linter、...

    dbeaver-ee-21.2.0-win32.win32.x86_agent_64.zip

    MySQL、Oracle、PostgreSQL、IBM DB2、Microsoft SQL Server、clickhouse、Sybase、ODBC、Java DB (Derby)、Firebird (Interbase)、HSQLDB、SQLite、Mimer、H2、IBM Informix、SAP MAX DB、Cache、Ingres、Linter、...

    DBeaver Enterprise 21.1企业版 (DBEE21.1+JDK11+Agent)

    MySQL、Oracle、PostgreSQL、IBM DB2、Microsoft SQL Server、clickhouse、Sybase、ODBC、Java DB (Derby)、Firebird (Interbase)、HSQLDB、SQLite、Mimer、H2、IBM Informix、SAP MAX DB、Cache、Ingres、Linter、...

    dbeaver中文版 v3.7.7官方最新版64_96946.rar

    beaver是一款非常给力的通用数据库管理工具和SQL客户端,...今日为用户提供的是dbeaver中文版,软件提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等.

    dbeaver.zip

    MySQL、Oracle、PostgreSQL、IBM DB2、Microsoft SQL Server、clickhouse、Sybase、ODBC、Java DB (Derby)、Firebird (Interbase)、HSQLDB、SQLite、Mimer、H2、IBM Informix、SAP MAX DB、Cache、Ingres、Linter、...

    dbeaver-setup.exe

    MySQL、Oracle、PostgreSQL、IBM DB2、Microsoft SQL Server、clickhouse、Sybase、ODBC、Java DB (Derby)、Firebird (Interbase)、HSQLDB、SQLite、Mimer、H2、IBM Informix、SAP MAX DB、Cache、Ingres、Linter、...

    嵌入式开源数据库系统对比

    - **二进制大对象支持**:BLOB 和 CLOB 类型用于存储大量文本和二进制数据。 - **多语言支持**:提供多种语言的 API 接口,方便不同编程环境下的开发人员使用。 - **应用场景**:适合于需要 Java 集成的应用场景,...

    DBeaver (dbeaver-ce-21.2.5-linux.gtk.x86_64-nojdk.tar.gz)

    DBeaver (dbeaver-ce-21.2.5-linux.gtk.x86_64-nojdk.tar.gz)适用于Linux x86 64 位...DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等。

    DBeaver (dbeaver-ce-21.2.5-linux.gtk.aarch64-nojdk.tar.gz)

    DBeaver (dbeaver-ce-21.2.5-linux.gtk.aarch64-nojdk.tar.gz)适用于Linux ARM 64 位...DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等。

    DBeaver (dbeaver-ce-21.3.2-win32.win32.x86_64.zip)

    DBeaver (dbeaver-ce-21.3.2-win32.win32.x86_64.zip)适用于Windows 64 位 (zip)。...DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等。

    dbeaver-ce-21.1.0版本安装包

    dbeaver是免费和开源(ASL)为开发人员和数据库管理员通用数据库工具。...DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等。

    DBeaver (dbeaver-ce-21.2.5-macos-aarch64.dmg)

    DBeaver (dbeaver-ce-21.2.5-macos-aarch64.dmg)适用于Mac OS X M1 (dmg) – beta。...DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等。

    DBeaver (dbeaver-ce-21.2.5-stable.x86_64.rpm)

    DBeaver (dbeaver-ce-21.2.5-stable.x86_64.rpm)适用于Linux RPM 包 64 位(安装程序)...DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等。

    DBeaver (dbeaver-ce-21.2.5-win32.win32.x86_64.zip

    DBeaver (dbeaver-ce-21.2.5-win32.win32.x86_64.zip)适用于Windows 64 位 (zip)。...DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等。

    DBeaver (dbeaver-ce-21.2.5-linux.gtk.x86_64.tar.gz)

    DBeaver (dbeaver-ce-21.2.5-linux.gtk.x86_64.tar.gz)适用于Linux 64 位 (zip)。...DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等。

    H2Database连接配置.pdf

    此外,H2支持存储大量的数据类型,包括大数据类型如BLOB(二进制大对象)和CLOB(字符大对象),以及数组数据类型。 H2数据库的文件操作也非常灵活,可以打开和锁定数据库文件,支持使用字符数组而不是字符串来发送...

    数据库管理工具:dbeaver-ce-23.1.2-amd64.deb

    用户界面:提供图形界面来查看数据库结构、执行SQL查询和脚本、浏览和导出数据,以及处理BLOB/CLOB数据等。用户界面设计简洁明了,易于使用。 高级功能:除了基本的数据库管理功能外,DBeaver还提供了一些高级功能,...

Global site tag (gtag.js) - Google Analytics