当前位置: 技术问答>java相关
如何将rtf文本或word文档存储在sql server数据库上,并将其完整的读出来?
来源: 互联网 发布时间:2015-04-21
本文导语: 我下在可以将rtf或word文档(带图片)用二进制形式存储在sql server数据库中,但是我却无法读取出来,各位有什么好办法吗?原程序,资料都可以,我先行谢过了. | //从数据库中读取并生成大二进制文...
我下在可以将rtf或word文档(带图片)用二进制形式存储在sql server数据库中,但是我却无法读取出来,各位有什么好办法吗?原程序,资料都可以,我先行谢过了.
|
//从数据库中读取并生成大二进制文件
//参数sql只返回一个字段,即大二进制文件那个字段;FileName,生成的文件名
public void WriteToFileByOdbc(String sql,String FileName){
int countInt=0;String strDBError="";
try{
Rst = Stmt.executeQuery(sql);
if (Rst.next()){
InputStream ins=Rst.getBinaryStream(1);
FileOutputStream fos=new FileOutputStream(FileName);
int readbyte=0;
while (true)
{
readbyte=ins.read();
if (readbyte==-1)
break;
fos.write(readbyte);
}
ins.close();
}
countInt=1;//写入成功
}catch(FileNotFoundException aa){
countInt=-1;
strDBError="File error:"+aa.getMessage();
System.out.println("File error");
}catch(SQLException sqly){
countInt=-1;
strDBError="SQL error:"+sqly.getMessage()+"
//参数sql只返回一个字段,即大二进制文件那个字段;FileName,生成的文件名
public void WriteToFileByOdbc(String sql,String FileName){
int countInt=0;String strDBError="";
try{
Rst = Stmt.executeQuery(sql);
if (Rst.next()){
InputStream ins=Rst.getBinaryStream(1);
FileOutputStream fos=new FileOutputStream(FileName);
int readbyte=0;
while (true)
{
readbyte=ins.read();
if (readbyte==-1)
break;
fos.write(readbyte);
}
ins.close();
}
countInt=1;//写入成功
}catch(FileNotFoundException aa){
countInt=-1;
strDBError="File error:"+aa.getMessage();
System.out.println("File error");
}catch(SQLException sqly){
countInt=-1;
strDBError="SQL error:"+sqly.getMessage()+"
"+sql;
System.out.println("Sql error");
}catch(IOException io){
countInt=-1;
strDBError="IO error:"+io.getMessage();
System.out.println("IO error");
}
}