JSP导出Oracle数据表的操作浅谈

开发 后端
JSP导出Oracle数据表是一个在开发应用时的常用的操作,那么如何实现呢?本文将向你介绍这一JSP导出操作。

JSP导出Oracle数据表是一个在开发应用时的常用的操作,那么如何实现呢?现在开始我们的程序介绍,首先下面的程序expddl.jsp可导出Oracle数据表进行数据库的用户下的所有数据表的DDL.

JSP导出的Oracle数据表之expddl.jsp:

﹤%@ page contentType="text/html; charset=gb2312" language="java" %﹥  
﹤%@ page import = "java.sql.*" %﹥  
﹤%@ page import = "oracle.jdbc.OracleDatabaseMetaData" %﹥  
﹤%@ page import = "oracle.jdbc.OracleResultSetMetaData" %﹥  
﹤%@ page import = "javax.sql.*,javax.naming.Context" %﹥  
﹤%@ page import = "javax.naming.InitialContext" %﹥  
﹤div align="center"﹥  
﹤%  
DataSource ds = null;  
 
Context ic = new InitialContext();  
ds = (DataSource) ic.lookup("java:comp/env/jdbc/mydb");  
 
Connection conn = ds.getConnection();  
 
OracleDatabaseMetaData dmd = (OracleDatabaseMetaData) conn.getMetaData();  
String us = odmd.getUserName();  
String[] types = new String[1];  
types[0] = "TABLE";  
ResultSet rs = odmd.getTables(null,us,"%",types);  
while(rs.next()) {  
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

对JSP导出的Oracle数据表进行取表名

String tname = rs.getString(3);  
%﹥  
﹤div align="center"﹥表名:﹤%= tname%﹥﹤/div﹥  
﹤table width="483" height="50" border="1" cellpadding="2" cellspacing="0"﹥  
﹤tr﹥  
﹤td﹥﹤div align="center"﹥序号﹤/div﹥﹤/td﹥  
﹤td﹥﹤div align="center"﹥标识﹤/div﹥﹤/td﹥  
﹤td﹥﹤div align="center"﹥类型/精度﹤/div﹥﹤/td﹥  
﹤td﹥﹤div align="center"﹥标识说明﹤/div﹥﹤/td﹥  
﹤/tr﹥  
﹤%  
Statement st = conn.createStatement();  
ResultSet rs1 = st.executeQuery("select * from " + tname);  
OracleResultSetMetaData rmd = (OracleResultSetMetaData) rs1.getMetaData();  
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

对JSP导出的Oracle数据表提取取列总数

int colcnt = ormd.getColumnCount();  
 
  • 1.
  • 2.

对JSP导出的Oracle数据表提取列序号

int num = 1;  
for(int j=0;j﹤colcnt;j++) {  
String s = ormd.getColumnTypeName(j+1).toLowerCase();  
 
对Oracle数据表只处理varchar2 char date number类型(根据需要添加相应的处理)  
 
if(s.equals("varchar2") || s.equals("char") || s.equals("date") || s.equals("number")) {  
if(s.equals("varchar2") || s.equals("char"))  
ss = s + "(" + ormd.getColumnDisplaySize(j+1) + ")";  
if(s.equals("number"))  
ss = s + "(" + ormd.getPrecision(j+1) + "," + ormd.getScale(j+1) + ")";  
%﹥  
﹤tr﹥  
﹤td width="40"﹥﹤div align="center"﹥﹤%= num++ %﹥﹤/div﹥﹤/td﹥  
﹤td width="98"﹥﹤%=ormd.getColumnName(j+1)%﹥﹤/td﹥﹤td width="144"﹥﹤%= s %﹥﹤/td﹥  
﹤td width="173"﹥ ﹤/td﹥ ﹤/tr﹥  
﹤%  
}  
}  
rs1.close();  
st.close();  
%﹥  
﹤/table﹥  
﹤br﹥  
﹤%  
}  
rs.close();  
conn.close();  
%﹥  
﹤/div﹥   
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.

通过上面对JSP导出的Oracle数据表的操作,你是否对于这个程序的实现有了自己的思路呢?

【编辑推荐】

  1. 对JSP中的内置对象简单概述
  2. 使用JSP include机制改进外观
  3. JSP编程应注意的六个常见问题
  4. JSP教程基础篇之JSP的技术特点
  5. 实现JSP论坛树型结构的具体算法
责任编辑:仲衡 来源: 互联网
相关推荐

2010-11-29 13:22:45

sybase数据表

2009-05-04 09:52:49

Oracle优化排序

2010-05-07 12:35:05

Oracle spat

2009-06-02 10:57:22

ADO.NET多数据表操作

2010-04-30 14:47:56

Oracle表

2009-07-15 16:23:54

Java JDBC

2011-08-02 12:46:46

Oracle数据表建立索引

2010-04-19 16:28:04

Oracle导出

2010-08-04 11:03:03

DB2数据表

2009-05-19 10:10:01

Oracle时间加减时间操作

2009-04-14 09:24:40

OracleXML导出

2009-11-06 14:25:20

Oracle创建用户表

2010-11-22 13:53:46

MySQL数据表

2023-05-26 16:34:31

HBase数据模型

2010-04-22 17:06:24

Oracle数据库

2010-11-24 13:11:06

MySQL遍历数据表

2010-06-09 16:55:47

MySQL数据表

2009-09-07 16:13:14

LINQ to SQL

2009-05-07 11:30:28

Oracle扫描数据索引

2010-04-02 13:46:30

Oracle数据导出
点赞
收藏

51CTO技术栈公众号