巧妙解决Oracle NClob读写问题(经验分享)

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

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

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

网上搜一通,有提到用 SetBigStringTryClob

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

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

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

对应网址:

里面提到:

In Oracle Database 11g release 2 (11.2),the setBytes,setBinaryStream,,setCharacterStream,and setAsciiStream methods of PreparedStatement enhance the abilityBLOB,CLOB,and target columns.

...

The connection property of Oracle Database 10g Release 1 (10.1)

...

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

以上这篇巧妙解决Oracle NClob读写问题(经验分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。