oracle里我不清楚,不过在DB2里面,你读出一个数据前要rs.next()一下,也就是说要从rs.next()才是第一条记录,不然就全是null,你试着加上这句话看行不行!
解决方案 »
- 求一本,关于JVM虚拟机的好书。
- 继承的题目,觉得这个题目出错了......应该只有一个正确答案啊!
- checkBox velue 为中文,转码问题
- 为什么不能下一张
- 一个MainFrame,左边是JTree, 右边是JTable。TreeSelectionListener单独成类,JTree和JTable的实现不在MainFrame中,要实现根据JTree的
- 关于线程意外崩溃等几个问题?
- 高分求windows2000下apache+tomcat详细配置方法,急!
- 我迷茫-开始阶段我可以用java做点什么?
- 没有人关心javascript吗?
- sos help me
- 请看原程序!!为什么不显水仙化数啊!
- 关于RandomAccessFile里面的 readChar()方法的疑问:
呵呵,oracle的blob不是这么玩的,应该这样java.sql.Blob bb = ((OracleResultSet)rs).getBLOB("sfile");
BLOB是oracle实现了bolb的接口的类,你可以参考oracle的jdbc的文档.
他需要的包就是oracle带的classes12.jar了,和weblogic没有关系.
------rs.next()才是第一条记录,不然就全是null,你试着加上这句话看行不行!
看到这句没有?String fileName = rs.getString("filename"); //有值
我第一个字段都有值了,证明我肯定取的是第一条记录拉,怎么会没有rs.next呢?-----楼主有没有提交啊,是不是在数据库中添加数据却没有提交
怎么可能,我在没有运行系统的时候,直接在数据库里面查询都可以查到数据,没看到:(在数据库中执行查询,确定对应blob字段有值)、buffer我调试过了,保证非空,且执行完毕后在数据库中查询blob字段显示有值:(OraBlob)------呵呵,oracle的blob不是这么玩的,应该这样……
这个样子我试过了,没看到:
使用(OracleResultSet)rs).getBLOB("sfile");则必须使用weblogic自带一个weblogic.*.*.OracleResultSet
对象。同样结果为null
大家的帮忙我很感谢,但希望看清楚我说明的那些,那样就可以免掉不必要的讨论了……我现在及其怀疑数据库本身有问题……
谁能给我个读取oracle的blob数据转换成byte[]数组的可运行并成功的实例???????????
BLOB bCont;
byte[] data;
Statement stament=null;
try
{
stament=conn.createStatement();//conn是Connection的对象
resultSet=stament.executeQuery("select recvdata from ComLog "+
"where SIComLogid="+id;//id是参数
while(resultSet.next())
{ //分析接收的数据
result="\n接收的数据\n----------------------------\n";
bCont = ((OracleResultSet)resultSet).getBLOB("recvdata");
if(bCont==null||bCont.length()==0)
{
result+="无数据";
}
else
{
data=bCont.getBytes(1,(int)bCont.length());//这个就是数据
result+=GetDesc(data);
}
result+="\n------------------\n"; break;
}
这是我现在用的代码,有些业务方面的东西我删掉了,程序正常运行,没有问题的.你别告诉我不行.嘿嘿
我使用了你这种方法,其中OracleResultSet和BLOB来自
import oracle.jdbc.OracleResultSet;
import oracle.sql.BLOB;
编译可以成功,但是,在weblogic下运行的时候,
blob = ((OracleResultSet)rs).getBLOB(columnName);
处报出错误如下:
java.lang.ClassCastException: weblogic.jdbc.rmi.SerialResultSet应该是说rs对象为weblogic.jdbc.rmi.SerialResultSet这个类型,这样子直接造型错误。
我试过将OracleResultSet改为SerialResultSet类型,同样为null
难道是数据库连接上的问题么?我使用的是weblogic的连接池,该怎么解决呢??
同样为null
不知道哪位大虾能给个保证可以执行成功的,且和fastmask方法不同的实例阿??