oracle nclob 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 setBytes, setBinaryStream, setString, setCharacterStream, and setAsciiStream methods of PreparedStatement are extended to enhance the ability to work with BLOB, CLOB, and NCLOBtarget columns.

...

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

...

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值