这个程序是我在一个用XML做外部数据交换平台的项目中最初用到的,虽然后来用到其它方式解决,但其思路还是有一定参考价值,程序很简单,不难看懂,还请专家们不吝指教……
<%@ page contentType="text/html; charset=gb2312" %
<%@ page info="database handler"%
<%@ page import="java.io.*"%
<%@ page import="java.net.*"%
<%@ page import="java.lang.*"%
<%@ page import="java.util.*"%
<%@ page import="java.sql.*"%
<%@ page import="javax.servlet.*"%
<%@ page import="javax.servlet.http.*"%
<%@ page import="oracle.sql.CLOB"%
<%@ page import="oracle.jdbc.driver.OracleResultSet"%
<html
<head
<meta content="text/html; charset=gb2312" http-equiv="content-type"
</head
<body
<%
int i=0;
String parID = request.getParameter("id_no");
String strSql;
String content="";
try{
String xmlFile = "/usr/local/tomcat/webapps/vehicles/test.xml";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dburl="jdbc:oracle:thin:@192.168.15.250:1521:ycdb";
Connection con=DriverManager.getConnection(dburl,"training","deep1704sea");
Statement stmt=con.createStatement();
//使用流读取CLOB或BLOB列
strSql = "select xmlgen.getxml('select * from account_holder where id_no=''0001''') from dual ";
ResultSet rs=stmt.executeQuery(strSql);
if(rs.next()){
CLOB clob = ((OracleResultSet)rs).getCLOB(1);
if(clob!=null){
Reader is = clob.getCharacterStream();
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
while(s!=null){
content += s;
s=br.readLine();
}
}
}
//将从数据库中读出的内容写到文件中
FileOutputStream fo = new FileOutputStream(xmlFile);
PrintStream so = new PrintStream(fo);
so.println(content);
so.close();
rs.close();
stmt.close();
con.close();
}catch(Exception e){
out.println(e);
}
%
</body
</html