欢迎来到天天文库
浏览记录
ID:12340440
大小:42.50 KB
页数:3页
时间:2018-07-16
《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类型,它的值由二进制(“原始”)数据组成,而且存储在数据库表空间之外的服务器端
此文档下载收益归作者所有