zoukankan      html  css  js  c++  java
  • 编程经验点滴----巧妙解决 Oracle NClob 读写问题

    最近一个新项目中,尝试在 Oracle 数据库中使用 NCLOB 来保存大的 xml 字符串。

    在代码自动生成工具(通过 JDBC 驱动程序,读数据库表结构,自动生成对应的 java 代码,包含增加、删除、修改、分页查询、根据主键查找等前台 html/js、后台代码 java),将 NCLOB 字段映射到 String 类型。

    运行代码,无报错。使用 SQuirreL SQL 客户端查看数据,觉察数据未保存成功。

    网上搜一通,有提到用 SetBigStringTryClob  的数据库连接额外属性的。总觉得好傻。也有提到用 setStringForClob 方法的,也比较笨。

    最后在 Oracle 官网上,找到一个更好的办法:

    升级 Oracle JDBC 驱动程序,直接用 java JDBC 标准的 setString 函数,保存成功!

    对应网址:

    http://docs.oracle.com/cd/E11882_01/java.112/e16548/oralob.htm#JJDBC28534

    里面提到:

    In Oracle Database 11g release 2 (11.2), the setBytessetBinaryStreamsetStringsetCharacterStream, and setAsciiStream methods of PreparedStatement are extended to enhance the ability to work with BLOBCLOB, and NCLOB target columns.

    ...

    The SetBigStringTryClob connection property of Oracle Database 10g Release 1 (10.1) is no longer used or needed.

    ...

    ----------------------------

    转发请注明出处。当心我晚上变大灰狼来摸你肚子哟。我是 jacklondon , at , cnblogs.com. 

  • 相关阅读:
    常用的Dos命令
    关于CSS3
    数据渲染
    jQuery中的AJAX
    AJAX
    面向对象3
    克隆对象、对象继承
    面向对象2
    面向对象1
    面向对象
  • 原文地址:https://www.cnblogs.com/jacklondon/p/handle_nclob_easily.html
Copyright © 2011-2022 走看看