JSP读取大对象CLOB并生成xml文件示例

王朝java/jsp·作者佚名  2008-05-19
宽屏版  字体: |||超大  

这个程序是我在一个用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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有