-- 以 system/manager 登入
conn system/manager
-- 建立用戶 user1/pass1 並授權
grant connect, resource to user1 identified by pass1;
conn user1/pass1
-- 建立測試資料表
create table test(a number, b char(10));
insert into test values(1, '一');
insert into test values(2, '二');
insert into test values(3, '三');
commit;
select * from test;
testoradb (Oracle 實例名,預設常為 ORCL)user1<%@ page info="database handler" import="java.io.*,java.util.*,java.sql.*,javax.servlet.*,javax.servlet.http.*" %>
<%
try {
Connection con;
Statement stmt;
ResultSet rs;
// 載入 JDBC-ODBC 橋接驅動
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 連接 ODBC 資料來源
String url = "jdbc:odbc:test";
con = DriverManager.getConnection(url, "user1", "pass1");
stmt = con.createStatement();
// 新增測試資料
stmt.executeUpdate("INSERT INTO test (a,b) VALUES (1,'2')");
// 查詢資料
rs = stmt.executeQuery("SELECT a,b from test");
out.println("<table border=1 width=400>");
while (rs.next()) {
String col1 = rs.getString(1);
String col2 = rs.getString(2);
out.println("<tr><td>" + col1 + "</td><td>" + col2 + "</td></tr>");
}
out.println("</table>");
} catch (Exception e) {
// 實務上應記錄錯誤日誌
}
%>
啟動 Tomcat,瀏覽器訪問:https://localhost:8080/test/test.jsp
ojdbc 驅動直接連接finally 區塊關閉 Connection、Statement、ResultSetPreparedStatement 防止 SQL 注入