欢迎来到天天文库
浏览记录
ID:24260431
大小:55.00 KB
页数:3页
时间:2018-11-13
《用java和oracle读取 blob字段字符串》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用Java和oracle读取BLOB字段的字符串核心提示:java能够调用Oracle的存储过程,反之oracle也能用java来开发外部存储过程,这样java和oracle的相互界限就已经不明确了。 java能够调用Oracle的存储过程,反之oracle也能用java来开发外部存储过程,这样java和oracle的相互界限就已经不明确了。 当然关系型数据库最好做自己应该做的事情而不是大包大揽做所有的非数据库应该做的事情。 ——开发java类 createorreplaceandcompilejavasourcenamedBLOBObject
2、as packageMyOracle.BLOB;--自己定义的package importjava.io.*;--外部引用到的java包 importoracle.sql.*; publicclassBLOBObject { publicstaticStringConvertBLOBtoString(oracle.sql.BLOBBlobContent) { byte[]msgContent=BlobContent.getBytes();//BLOB转换为字节数组 byte[]bytes;//BLOB临时存储字节数组 Stringn
3、ewStr="";//返回字符串 inti=1;//循环变量 longBlobLength;//BLOB字段长度 try { BlobLength=BlobContent.length();//获取BLOB长度 if(msgContent==null
4、
5、BlobLength==0)//如果为空,返回空值 { return""; } else//处理BLOB为字符串 { /* while(i { bytes=BlobContent.getBytes(i,1024); i=i+1024; newStr=newStr+new
6、String(bytes,"gb2312"; } */ newStr=newString(BlobContent.getBytes(1,900),"gb2312"+"....";//简化处理,只取前900字节 returnnewStr; } } catch(Exceptione)//oracle异常捕获 { e.printStackTrace(); } returnnewStr; } } ——然后在Oracle中把这个类导入成为一个函数,执行命令 createorreplacefunctionConvertBLOB(blo
7、bObjectBLOB) returnvarchar2 aslanguagejavaname 'MyOracle.BLOB.BLOBObject.ConvertBLOBtoString(oracle.sql.BLOB)returnjava.lang.String'; ——执行相应的操作 selectConvertBLOB(BLOBField),dbms_lob.getlength(BLOBField),BLOBFieldfromTableName 以上代码均在PL/SQLdeveloper中开发并调试通过。
此文档下载收益归作者所有