ODBC写图片到表中Blob字段

jsp_jsp 2007-12-26 04:14:04
连接oracle ta表中有个Blob字段pic

public static boolean insertTable(byte data[]){//data为图片的流
Connection co=null;
java.sql.PreparedStatement st=null;
boolean bool=false;
try{

co=DB.DBCtl.Connect();

co.setAutoCommit(false);
String sql="insert into ta (id,pic) values (1,empty_blob())";

st=co.prepareStatement(sql);
Log.outPutLog("aaaaaaaaaaaaaaaaa");
st.executeUpdate();

Log.outPutLog("bbbbbbbbbbbbbbbbbbbb");
ResultSet rs = st.executeQuery("select pic from ta for update");
Log.outPutLog("ccccccccc");

if(rs.next())
{
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(Tables.NewsPic.pic);

BufferedOutputStream out = new BufferedOutputStream(blob.getBinaryOutputStream());


out.write(data);
out.close();


}

co.commit();
}catch(Exception e){Log.outPutLog(e);}
finally{closeConnection(co,st);}
return bool;


}


用jdbc:oracle:thin:连时就可以写入.

用jdbc:odbc连时就报错:

java.sql.SQLException: Driver does not support this function
java.sql.SQLException: [Oracle][ODBC]Invalid transaction state.

日志输出:
aaaaaaaaaaaaaaa
bbbbbbbbbbbbbbb
就没了.
是("select pic from ta for update");这句出错.问要用odbc连数据库如何实现以上代码,把图片写入Blob字段
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hahe7788 2007-12-29
  • 打赏
  • 举报
回复
方法没问题,就用jdbc驱动
hahe7788 2007-12-29
  • 打赏
  • 举报
回复
按有几个群,你不妨加进去,可以和大家一起讨论啊.........46986340,28039577,4804620
在那里看看有无能回答你的,谢谢,LZ,甭忘了给俺分哦,谢谢LZ
hahe7788 2007-12-29
  • 打赏
  • 举报
回复
按有几个群,你不妨加进去,可以和大家一起讨论啊.........46986340,28039577,4804620
在那里看看有无能回答你的,谢谢,LZ,甭忘了给俺分哦,谢谢LZ
老紫竹 2007-12-26
  • 打赏
  • 举报
回复
你的方法没问题,就用jdbc驱动不就行了!

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧