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("輸出異常"); } }
基本上是流操作;