jdbc 读取oracle long raw 字段,里面存的是文本

Posted stono

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("输出异常");
                }
            }

基本上是流操作;

 

以上是关于jdbc 读取oracle long raw 字段,里面存的是文本的主要内容,如果未能解决你的问题,请参考以下文章

oracle查看blob字段

oracle修改字段类型由varchar2修改为clob类型

oracle中如何实现blob和base64相互转换

oracle 如何把long类型转换成字符类型

oracle中utl_raw

将小型 Oracle 长原始值转换为其他类型