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

怎么取出存在oracle数据库中blob类型中的word文档呢?请

2012-04-09 
如何取出存在oracle数据库中blob类型中的word文档呢?请高手指点java.sql.PreparedStatement pstmtdbUtil.

如何取出存在oracle数据库中blob类型中的word文档呢?请高手指点
java.sql.PreparedStatement pstmt = dbUtil.getConection().prepareStatement("select t.filebody BLOBCOL from app_2.td_octl_document_file t where t.recordid='45632'"); 
  ResultSet rs = pstmt.executeQuery();
  while (rs.next()) {
  /* 取出此BLOB对象 */
  oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("BLOBCOL");
  /* 以二进制形式输出 */
// System.out.println();
  OutputStream out = new FileOutputStream("c:/catalog/45632.doc");
   
  byte[] b =blob.getBytes(1,(int)blob.length());
   
  out.write(b);

  out.close();
  }
  /* 正式提交 */
   
  } catch (Exception ex) {
  /* 出错回滚 */
   
  try {
throw ex;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
  }


代码如上:这样能把.doc文件输入到指定路径,但打开全是乱码?有人遇见过这种情况吗?

[解决办法]
编码的原因。
Java默认采用的编码为unicode,与数据库采用的编码会有差别。

要进行编码的转换。

热点排行