oracle blob 字段导入导出问题

oracle blob 字段导入导出问题

ID:12340440

大小:42.50 KB

页数:3页

时间:2018-07-16

oracle blob 字段导入导出问题_第1页
oracle blob 字段导入导出问题_第2页
oracle blob 字段导入导出问题_第3页
资源描述:

《oracle blob 字段导入导出问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、OracleBLOB字段导入导出问题博客分类:·Oracleoracleblobjava一、案例假如有t1和t2在表空间tbs1上,其中t1有blob字段,现在在另外的一台机子上建了实例,表空间名为tbs2,使用imp倒入的时候,t2正常倒入,t1不能倒入,出现错误"IMP-00017:由于ORACLE错误959,以下语句失败:"CREATETABLE"t1"...............IMP-00003:遇到ORACLE错误959ORA-00959:tablespace'tbs1'doesnotexist"我是这样解决的impt

2、ables=t1indexfile=temp.sql-编辑temp.sql只保留所需的建表命令并指定表空间为tbs2-以表的所有者执行temp.sql-imptables=t1ignore=Y二、java示例blob是单独分块的,java中获取oracleblob字段值,为了防止乱码应该使用getBlob()这个oracle特有的方法Java代码 1.ByteArrayOutputStream baos = new ByteArrayOutputStream();  2.if (queryResult.next()) {  3.  

3、  tfzn018KtfjxxPO.setTec_attachid(queryResult.getLong("TEC_ATTACHID"));  4.    tfzn018KtfjxxPO.setTec_attachpostfix(queryResult.getString("TEC_ATTACHPOSTFIX"));  5.    java.sql.Blob blob = queryResult.getBlob("TEC_ATTACHCONTENT");  6.    InputStream is = blob.getBinary

4、Stream();  7.    int bytesRead = 0;  8.    byte[] buffer = new byte[8192];  1.    // 从输入流读到字节数组  2.    while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {  3.        // 从字节数组到输出流  4.        baos.write(buffer, 0, bytesRead);  5.    }  6.    byte[] bufferFile = baos.t

5、oByteArray();  7.    tfzn018KtfjxxPO.setTec_attachcontent(bufferFile);  8.    connection.commit();  9.}  ByteArrayOutputStreambaos=newByteArrayOutputStream();if(queryResult.next()){tfzn018KtfjxxPO.setTec_attachid(queryResult.getLong("TEC_ATTACHID"));tfzn018KtfjxxPO.set

6、Tec_attachpostfix(queryResult.getString("TEC_ATTACHPOSTFIX"));java.sql.Blobblob=queryResult.getBlob("TEC_ATTACHCONTENT");InputStreamis=blob.getBinaryStream();intbytesRead=0;byte[]buffer=newbyte[8192];//从输入流读到字节数组while((bytesRead=is.read(buffer,0,8192))!=-1){//从字节数组到输出流

7、baos.write(buffer,0,bytesRead);}byte[]bufferFile=baos.toByteArray();tfzn018KtfjxxPO.setTec_attachcontent(bufferFile);connection.commit();}三、定义BLOB、CLOB、和NCLOB:它们在数据库中要么存储在表中,要么存储在单独的段或表空间中。      BLOB能够存储大容量的二进制数据,典型例子有图形图像和照片。      CLOB能够存储大容量的字符数据,而且对于存储非结构化的XML文档很有用。

8、      NCLOB:由对应于为Oracle数据库定义的本地字符集的字符数据组成。BFILE:它们作为操作系统文件存储。      BFILE是一种LOB类型,它的值由二进制(“原始”)数据组成,而且存储在数据库表空间之外的服务器端

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。