如何把XML文件导到oracle数据库中?

cultra 2003-09-12 10:17:18
工作流程如下:
1)收到包含数据的*.XML邮件
2)负责存储数据的拥护登陆一WEB地址,提交该*.xml文件
3)服务器端servlet从request流中获得该XML文件,进行后台处理。
4)写入ORACLE数据库。
5)前台操作人员直接操作数据库。

有没有具体的例子说明如何取的该文件,同时写入数据库?
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wks9527 2003-09-12
  • 打赏
  • 举报
回复
附件应该是以文件的形式收到的 收到的时候解析它并存入数据库 好象oarcle没有直接的办法将XML入库吧
plato11 2003-09-12
  • 打赏
  • 举报
回复
是将每个xml块转为单条数据库记录吗?如果是这样,我可以给个例子。
具体步骤:
1.取得xml文件。
2.解析xml,构造bean
3.写入数据库。
Kylix_XP 2003-09-12
  • 打赏
  • 举报
回复
有几种方法:
1.XML文档存储为BLOB类型的文本.
2.将XML存储为JAVA DOM对象
3.将XML文档映射成关系数据库的表

以下是说明第一种方法:
package com.bflink.writexml;

import java.sql.*;
import java.io.*;

/**
* <p>Title: </p>
* <p>Description:这个类显示如何将XML文档存储为BLOB类型的文本,
* 实际上,这个列的SQL类型是LONG VARCHAR
* </p>
* @jack
* @version 1.0
*/

public class SaveXMLToDb {
public static void main(String[] args) {
try {
Class.forName("com.cloudscape.core.JDBCDriver").newInstance();
}
catch (Throwable ex) {
System.out.println(ex.getMessage());
}


try {
Connection conn = DriverManager.getConnection(
"jdbc:cloudscape.GAMETRADER");
conn.setAutoCommit(false);
Statement s=conn.createStatement();
//创建一个表
s.executeUpdate("CREATE TABLE MANUALS(GAMEID INT,MANUAL LONG VARCHAR)");
conn.commit();

File file = new File("manuals.xml");//打开并读取XML文档
try {
InputStream is = new FileInputStream(file);
PreparedStatement ps = conn.prepareStatement("INSERT INTO MANUALS VALUES(?,?)");
ps.setInt(1,1285757);

//设置MANUAL字段的值
ps.setAsciiStream(1,is,(int)file.length());
ps.execute();
conn.commit();
// 以下关闭连接,statement略....

}
catch (FileNotFoundException ex2) {
ex2.printStackTrace();
}

}
catch (SQLException ex1) {
ex1.printStackTrace();
}

}

}


67,512

社区成员

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

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