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

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

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比碧江网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式碧江网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖碧江地区。费用合理售后完善,10多年实体公司更值得信赖。

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数据表的操作,你是否对于这个程序的实现有了自己的思路呢?

名称栏目:JSP导出Oracle数据表的操作浅谈
本文URL:http://www.shufengxianlan.com/qtweb/news16/493466.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联