救命啊!!急,关于提取oracl中BLOB数据问题

javazlj 2005-08-10 12:50:47
在我原来的ORACLE数据库中存储着XML文件(以BLOB的DATATYPE 格式存储),我现在想把它们提取出来并保存到文本文件中,单提取出来的时候是二进制的文件,在文件中就出现了乱码 问:如何才能把二进制转化为字符格式的文件。

大家给点建议啊,能不能实现把取出来的二进制转化为字符格式的文件的啊
...全文
135 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
javazlj 2005-08-10
  • 打赏
  • 举报
回复
请指教啊,我也这么想的啊,他们应该用CLOB类型去保存Character类型的XML文件,
但定义类型的时候不是我定义的啊,是美国那边的一家公司,我只是去远程访问,
把数据取出来保存到文本中而已。
下面是我写的提取数据的代码啊,保存到文件中是二进制乱码。
while (rs.next()) {

/* 取出此BLOB对象 */

oracle.sql.BLOB blob = (oracle.sql.BLOB) rs
.getBlob("TRANSACTIONXML");
// String
// transactiontypename=(String)rs.getString("transactiontypename");

/* 以二进制形式输出 */
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream("1.txt"));

BufferedInputStream in = new BufferedInputStream(blob
.getBinaryStream());

int c;

while ((c = in.read()) != -1) {

out.write(c);

}

in.close();

out.close();
System.out
.println("success to get the transaction XML file,congradurations");
}
jFresH_MaN 2005-08-10
  • 打赏
  • 举报
回复
你怎么用BLOB保存呢?这个是2进制文件,xml是文本内容的,应该使用COLB啊。

不过你用BinaryStream读出来应该也是可以的

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧