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

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

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

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

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

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

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

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

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

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

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

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

【编辑推荐】

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

2010-11-29 13:22:45

sybase数据表

2010-05-07 12:35:05

Oracle spat

2009-05-04 09:52:49

Oracle优化排序

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-04-14 09:24:40

OracleXML导出

2009-11-06 14:25:20

Oracle创建用户表

2023-05-26 16:34:31

HBase数据模型

2010-04-22 17:06:24

Oracle数据库

2010-11-22 13:53:46

MySQL数据表

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-19 10:10:01

Oracle时间加减时间操作

2009-02-03 08:58:13

SQL*Net配置网络应用

2010-04-02 13:46:30

Oracle数据导出
点赞
收藏

51CTO技术栈公众号