java存取oracle中的COLB类型数据.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Java 访问 Oracle 中的 COLB 类型数据 Java 中访问 Oracle 数据库中的 COLB 类型数据是一种常见的操作。在实际开发中,我们经常需要处理大类型数据,如文本数据、图像数据等。Oracle 中的 COLB 类型数据可以存储大文本数据,最多可存储 4GB 数据。 在 Java 中,提供了 sql.Clob 类来处理 COLB 类型数据。该类提供了两个方法来读取 COLB 数据:getCharacterStream() 方法返回按 Unicode 编码的输入流(java.io.Reader 对象),getAsciiStream() 方法返回按 ASCII 编码的输入流(java.io.InputStream 对象)。 在实际操作中,如果数据库中存储中文字符,需要使用 getCharacterStream() 方法来读取 COLB 数据。下面是一个实际的例子: 创建一个含 COLB 字段的表: ```sql create table test (id INTEGER, content clob); ``` 然后,通过 JSP往这张表里插入一条记录,并获取显示它。 插入操作需要注意以下几点: 1. COLB 类型的数据不能直接插入,需要先通过 empty_clob() 方法给它分配一个 locator(同理,BLOB 的用 empty_blob() 函数分配 locator)。然后把它 select出来(此时它当然没有数据,但结果集不是空的),得到一个 COLB 对象,修改该对象的内容让它满足我们的需要,再通过 update 方法更新该行记录。 2. 通过 select 修改含 LOB 类型的记录时一定要锁定该行(通过 for update 关键字实现),否则 Oracle 会报错。 3. 刚插入的记录就 select for update,会出现“违反读取顺序”错误,解决办法是将自动提交功能置为 false,即不允许自动提交,然后 commit 它,再 select,就可以了。 在读取 COLB 数据时,需要将其转换为 Unicode 编码,以便正确地显示中文字符。 此外,在 Java 中还需要处理中文编码问题。由于 Java 的开发者是老外,所以他们对中文的支持并不是太好。这一点让不少的我们感到很是头痛。关于一些汉字编码的规范这里不多说了,主要是谈谈在和 Oracle 数据库连接时的一些小问题。 在插入到数据库中的中文问题要转换成编码,否则会出现乱码问题。可以使用 ECov 类来处理中文编码问题。该类提供了两个方法:asc2gb() 方法将 ASCII 编码转换为 GB2312 编码,gb2asc() 方法将 GB2312 编码转换为 ASCII 编码。 在进行数据库插入时要用 ECov.gb2asc(arg),要在读时要用 ECov.asc2gb(arg)。其中最关键的一点就是 Oracle 好像只认识 ISO8859_1 这种格式的编码吧(仅是我的想法)。 在和数据库中最好是采用连接池技术,用标准的 J2EE 的环境,用简单的 JNDI 技术,是很好的一种方法的。
剩余15页未读,继续阅读
- 粉丝: 1
- 资源: 6万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 数据中台(大数据平台)数据共享标准规范.pdf
- StratoVirt 基于Rust 编程语言 StratoVirt 轻量级、高效且安全 它还具有 Full Sence Support 和 Modules Flexible Splitting 等功能
- 微信小程序开发游戏2048
- Salvo 是一个极其简单易用却又功能强大的 Rust Web 后端框架
- 分支与循环(简单的语句)
- 智能车竞赛专题培训从设计理念到实际操作应用
- 数据中台(大数据平台)数据采集标准规范.pdf
- 数据中台(大数据平台)资源目录编制标准规范.pdf
- Charles 网络封包截取工具纯净版
- PHP语言基础知识详解及常见功能应用.docx