通常有四種連接方式可供選擇,這里我只采用了其中兩種 我采用win98下的tomcat 服務器是winnt的,安裝的Oracle 我的類路徑是:D:\tomcat\webapps\ROOT\WEB-INF\classes\yourpackage jsp路徑:D:\tomcat\webapps\ROOT\ 調用路徑:http://127.0.0.1:8080/connOracle.jsp (你的實在不行,可以試試我的路徑^_^) 1,使用JDBC_ODBC橋連接 首先記得在系統數據源里建立一個ODBC連接哦^_^,(可以采用PB或其他程序連接數據庫,測試一下這個ODBC建立成功沒有) 接下來寫類文件,可以采用以下類文件: package yourpackage; //注意,java的類存儲系統和文件系統有關哦:) import java.sql.*; public class opendb { String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; String sConnStr="jdbc:odbc:yourdb"; //這里的yourdb是你建的ODBC數據原的DNS Connection conn=null; ResultSet rs=null; public opendb() { try{ Class.forName(sDBDriver); } catch(java.lang.ClassNotFoundException e) { System.err.println("opendb();"+e.getMessage()); } } public ResultSet executeQuery(String sql) { rs=null; try{ conn=DriverManager.getConnection(sConnStr,"username","password"); //注意這里的數據庫用戶名和密碼一定要根據實際情況設置 Statement stmt=conn.createStatement(); rs=stmt.executeQuery(sql); } catch(SQLException ex){ System.err.println("aq.executeQuery:"+ex.getMessage()); } return rs; } } 這種方法比較簡單,通常較容易實現,但據說存在漏洞(本人沒有做深層次研究),且不適于大型數據庫的大規模的數據流量,故嘗試直接采用JDBC連接^_^
2,直接使用JDBC連接數據庫 首先把類文件給你,看看吧,基本上差不多,就是連接參數的設置問題: package yourpackage; import java.sql.*; public class openOracle { String sDBDriver="oracle.jdbc.driver.OracleDriver"; //不要以為這個驅動器是系統已有的,我也是后來才把它加進去的,關鍵哦 String sConnStr="jdbc:oracle:thin:@server:1521:yourservername"; //要注意啦,server為你用的數據庫所在的服務器的名稱,一般Oracle的端口都采用1521,當然,你也可以咨詢一下你們的系統管理員^_^,yourservername是你用的數據庫的服務名 Connection conn=null; ResultSet rs=null; public openOracle() { try{ Class.forName(sDBDriver); } catch(java.lang.ClassNotFoundException e) { System.err.println("openOracle();"+e.getMessage()); } } public ResultSet executeQuery(String sql) { rs=null; try{ conn=DriverManager.getConnection(sConnStr,"username","password"); Statement stmt=conn.createStatement(); rs=stmt.executeQuery(sql); } catch(SQLException ex){ System.err.println("aq.executeQuery:"+ex.getMessage()); } return rs; } } 編譯成功,但用瀏覽器執行,出錯 :(,總是一大堆不認識的系統的類列了一片,這時我發現啟動tomcat時彈出的DOS窗口拋出這樣兩個錯誤(是我的catch捕獲的) openOracle():oracle.jdbc.odbc.OracleDriver aq.executeQuery: No suitable driver 由此可以推測是驅動程序找不到,通過請教網友,發現缺少的從classes12.zip文件里可以找到。通過搜索我在我的D:\Oracle\jdbc\lib里找到這個文件。解壓,通過各種嘗試,以及相關推理分析,我把解壓后的其中的Oracle文件夾放到D:\tomcat\lib下,運行程序,成功了,可以看到令人興奮的“連接成功”的結果了^_^ 以上這兩種方法,你都可以采用下面這個文件進行測試,只需修改相應調用的類文件就可以了。^_^ <%@ page contentType="text/html;charset=GBK"%> <%@ page language="java" import="java.sql.*"%> <jsp:useBean id="db" scope="page" class="yourpackage.openOracle"/> <% String sql="select * from user ";//這里,你可以隨便找你的一個表進行簡單查詢,只要能產生結果就可以(記得要找個有數據的表哦:P) ResultSet rs=db.executeQuery(sql); String mess=""; if(rs.next()) { mess="連接成功!"; } else { mess="連接失敗!"; } rs.close(); %> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> <TITLE>數據庫連接測試</TITLE> </HEAD> <BODY> <H2> 數據庫連接測試結果: <%=mess %> </H2> <P></P> </BODY> </HTML>
試試看吧!程序基本沒問題,如果不能實現,多方面找找原因,放的目錄對不對,需要的類文件有沒有放進去?注意別犯低級錯誤哦^_^ 祝你好運!^_^
|