OracleBLOB字段导入导出问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OracleBLOB字段导入导出问题.doc

Oracle BLOB 字段导入导出问题 博客分类: Oracle oracleblobjava 一、案例 假如有t1和t2在表空间tbs1上,其中t1有blob字段,现在在另外的一台机子上建了实例,表空间名为tbs2,使用imp倒入的时候,t2正常倒入,t1不能倒入,出现错误 IMP-00017: 由于 ORACLE 错误 959, 以下语句失败: CREATE TABLE t1............... IMP-00003: 遇到 ORACLE 错误 959 ORA-00959: tablespace tbs1 does not exist 我是这样解决的 imp tables t1 indexfile temp.sql - 编辑 temp.sql 只保留所需的建表命令并指定表空间为tbs2 - 以表的所有者执行temp.sql - imp tables t1 ignore Y 二、java示例 blob是单独分块的,java中获取oracle blob字段值,为了防止乱码应该使用getBlob 这个oracle特有的方法 Java代码 ? ByteArrayOutputStream?baos? ?new?ByteArrayOutputStream ; if? queryResult.next tfzn018KtfjxxPO.setTec_attachid queryResult.getLong TEC_ATTACHID ; tfzn018KtfjxxPO.setTec_attachpostfix queryResult.getString TEC_ATTACHPOSTFIX ; java.sql.Blob?blob? ?queryResult.getBlob TEC_ATTACHCONTENT ; InputStream?is? ?blob.getBinaryStream ; int?bytesRead? ?0; byte[]?buffer? ?new?byte[8192]; //?从输入流读到字节数组 while? bytesRead? ?is.read buffer,?0,?8192 ?! ?-1 //?从字节数组到输出流 baos.write buffer,?0,?bytesRead ; byte[]?bufferFile? ?baos.toByteArray ; tfzn018KtfjxxPO.setTec_attachcontent bufferFile ; mit ; ByteArrayOutputStream baos new ByteArrayOutputStream ; if queryResult.next tfzn018KtfjxxPO.setTec_attachid queryResult.getLong TEC_ATTACHID ; tfzn018KtfjxxPO.setTec_attachpostfix queryResult.getString TEC_ATTACHPOSTFIX ; java.sql.Blob blob queryResult.getBlob TEC_ATTACHCONTENT ; InputStream is blob.getBinaryStream ; int bytesRead 0; byte[] buffer new byte[8192]; // 从输入流读到字节数组 while bytesRead is.read buffer, 0, 8192 ! -1 // 从字节数组到输出流 baos.write buffer, 0, bytesRead ; byte[] bufferFile baos.toByteArray ; tfzn018KtfjxxPO.setTec_attachcontent bufferFile ; mit ; 三、定义 BLOB、CLOB、和 NCLOB:它们在数据库中要么存储在表中,要么存储在单独的段或表空间中。 BLOB 能够存储大容量的二进制数据,典型例子有图形图像和照片。 CLOB 能够存储大容量的字符数据,而且对于存储非结构化的 XML 文档很有用。 NCLOB:由对应于为 Oracle 数据库定义的本地字符集的字符数据组成。 BFILE:它们作为操作系统文件存储。 BFILE 是一种 LOB 类型,它的值由二进制(“原始”)数据组成,而且存储在数据库表空间之外的服务器端操作系统文件中。 用oracle 9i 创建表空间,如果有这句:SEGMENT SPACE MANAGEMENT AUTO,自动

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档