首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

怎么保存一个InputStream流到sql2005某一字段

2012-04-12 
如何保存一个InputStream流到sql2005某一字段如何保存一个InputStream流到sql2005某一字段,我的字段名称为

如何保存一个InputStream流到sql2005某一字段

如何保存一个InputStream流到sql2005某一字段,我的字段名称为fileContent,类型为image
我的部分代码如下
rs=pstmt.executeQuery();
if(rs.next()){
Blob blob= rs.getBlob("FILECONTENT");
OutputStream outStream=blob.setBinaryStream(1l);
InputStream inStream=m.getFileContent1();//m.getFileContent1()得到InputStream流
// int size=blob.getBufferSize();
byte[] b=new byte[inStream.available()];
int n=0;
while((n=inStream.read(b))!=-1){
outStream.write(b, 0, n);
}
inStream.close();
outStream.close();
}

但是我读的时候
  String QuerySQL="select * from OA_MailFileInfo where fileid="+fileId;
  ResultSet rs=stmt.executeQuery(QuerySQL);
  if (rs.next()) {  
   
  Blob b = rs.getBlob("fileContent");  
  long size = b.length();  
}

size为0,我想肯定是保存到数据库时没有保存成功,哪位高手帮我解决下,不胜感激

[解决办法]
http://zhidao.baidu.com/question/129752690.html

楼主看看这个
[解决办法]
在查询之前把inStream insert into 到你指定表的字段里就好了啊??

[解决办法]
去看java年鉴,各种大数据保存到各种数据库

http://www.herongyang.com/jdbc/SQL-Server-CLOB-setCharacterStream.html

到这里面找,再看看下面的链接
[解决办法]
先把二进制流进行base64 编码,audioStr = new BASE64Encoder().encode(bs); 将btye【】变成String进行保存,取得时候用base64解码,注意得到的字符串最好不要拆分或添加什么,否则会出现乱码情况

热点排行