编程经验点滴----巧妙解决 Oracle NClob 读写问题

Posted Jacklondon Chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程经验点滴----巧妙解决 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. 

以上是关于编程经验点滴----巧妙解决 Oracle NClob 读写问题的主要内容,如果未能解决你的问题,请参考以下文章

编程经验点滴----使用接口表保存可能并发的业务,然后顺序处理

Unity游戏开发经验点滴

Unity游戏开发经验点滴

WEB开发经验点滴

php 函数使用经验点滴1

银行网络安全攻防经验点滴