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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 世界名企最完美的人才培训篇(AAAAA).doc
- 着眼长处的思维方法.doc
- 现代企业人力资源总监、职业培训师、职业经理人必看培训技巧大全.doc
- 学习资料-推荐:2006年企业年度培训方案实例(DOC_8).doc
- 最经典的培训案例.doc
- 中层主管的新型管理方式.doc
- 看世界名企怎样培养人才.docx
- 复旦大学张奇:2023年大规模语言模型中的多语言对齐与知识分区研究
- 非常好用的,U盘 启动盘制作 工作, 将U盘 分成 2个区,一个作为 启动盘,另外 一个正常存储文件,或iso
- 成功领导的六种思维方法.doc
- 成功的项目管理.doc
- 电话销售技巧.doc
- 岗位说明书的编写与应用.doc
- 非人力资源经理的人力资源管理.doc
- 高层经理人的八项修炼.doc
- 公司理财(MBA全景教程之六).doc