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("輸出異常");
                }
            }

基本上是流操作;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM