jdbc 读取oracle long raw 字段,里面存的是文本
jdbc 读取oracle long raw 字段,里面存的是文本
参考:
http://singlewolf.iteye.com/blog/278769
http://blog.csdn.net/restraint/article/details/7190265
http://blog.csdn.net/bq1073100909/article/details/49335491
String sql = "select condition from tbl t where t.a = ? and t.b = ?"; PreparedStatement statement = hebSgConn.prepareStatement(sql); statement.setString(1, "20170305"); statement.setInt(2, 146897); ResultSet resultSet = statement.executeQuery(); if (resultSet.next()) { InputStream inputStream = resultSet.getBinaryStream("condition"); ByteArrayOutputStream infoStream = new ByteArrayOutputStream(); int len = 0; byte[] bytes = new byte[1024]; try { while ((len = inputStream.read(bytes)) != -1) { // 将bcache中读取的input数据写入infoStream infoStream.write(bytes, 0, len); } } catch (IOException e1) { throw new Exception("输入流读取异常"); } finally { try { inputStream.close(); // 输入流关闭 } catch (IOException e) { throw new Exception("输入流关闭异常"); } } try { String result = infoStream.toString(DEFAULT_ENCODING); System.out.println(result); } catch (UnsupportedEncodingException e) { throw new Exception("输出异常"); } }
基本上是流操作;