时间:2021-05-23
最近一个新项目中,尝试在 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 NCLOB target columns.
...
The SetBigStringTryClob connection property of Oracle Database 10g Release 1 (10.1) is no longer used or needed.
...
----------------------------
以上这篇巧妙解决Oracle NClob读写问题(经验分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
解决ConnecttoIdleInstance问题第一步查看Oracle_SID.[oracle@linuxserver~]$echo$ORACLE_SIDcj
如何解决winxp系统oracle无法使用?很多电脑用户不知道oracle的话,就需要开启oracle服务,但是如何开启oracle服务呢,下面小编给大家分享一
前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据。但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置
读写JSON数据问题你想读写JSON(JavaScriptObjectNotation)编码格式的数据。解决方案json模块提供给了一种很简单的方式来编码和解码
正在看的ORACLE教程是:Oracle8i字符集乱码问题析及其解决办法。一、问题描述 SQLPlusWorkSheet是一个窗口图形界面的SQL语句编辑器,