一.建立資料庫及ODBC資料來源
1.建立jcc.mdb資料庫及user表
2.添加測試資料
3.配置ODBC資料來源
二.在<%wwwroot%>/下,建立Access資料庫連接檔案Select.jsp
Select.jsp源碼如下:
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<body>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
out.print(e);
}
try{
String url = "jdbc:odbc:jcc";
Connection conn = DriverManager.getConnection(url,"jcc","jsp.com.cn");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("Select * FROM user");
out.println("User-list"+"<br>");
while(rs.next()){
out.print(rs.getString(1)+" ");
out.print(rs.getString(2)+"<br>");
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception ex){
out.print(ex);
}
%>
</body>
</html>
四.運行http://localhost/Select.jsp,顯示結果如下:
User-list
1 Corebit
2 Ivan
則表示資料庫連接成功!恭喜!恭喜!
否則請檢查資料來源相關設定,出錯可能性比較高!
附言:
常有人問起,如何在不做ODBC資料來源的情況下讓JSP訪問Access資料庫,為解開這個迷團,特寫以下串連代碼,以供參考!其中,jcc.mdb與Select.jsp同位於<%wwwroot%>(根目錄)下。
改寫後的Select.jsp源碼如下:
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<body>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
out.print(e);
}
try{
String strDirPath=application.getRealPath(request.getRequestURI());
strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf('\\'))+"\\";
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strDirPath+"jcc.mdb";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("Select * FROM user");
out.println("User-list"+"<br>");
while(rs.next()){
out.print(rs.getString(1)+" ");
out.print(rs.getString(2)+"<br>");
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception ex){
out.print(ex);
}
%>
</body>
</html>
運行結果應該與使用ODBC時的運行結果相同!
*註:檔案名稱Select.jsp區分大小寫!
希望本文能對你的JSP串連Access資料庫有所協助!
==========================================
只能使用jdbc-odbc橋來串連
想要設定odbc資料來源
然後串連
String dbdriver = "oracle.jdbc.driver.OracleDriver";
String dbname = "jdbc:oracle:thin:@192.168.0.101:1521:orcl";//根據你的情況修改
String user = "system";//使用者名稱
String password = "manager";//密碼
Connection conn = null;
Statement stmt = null;
ResultSet rs =null;
String sql="select * from 表名";//根據實際情況修改
try
{
Class.forName(dbdriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("Class access_dbconnect not fount!"+e.getMessage());
}
conn=DriverManager.getConnection(dbname,user,password);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
=========================================
sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
sConnStr = "jdbc:odbc:odbc名稱";
conn = null;
rs = null;
try
{
Class.forName(sDBDriver);
}
conn = DriverManager.getConnection(sConnStr);
Statement statement = conn.createStatement();
rs = statement.executeQuery(s);
你在odbc資料來源中建一個access串連,然後把上面的代碼中的odbc名稱改成你的odbc資料來源串連名稱就可以了。