1. 安裝Microsoft JDBC Driver
勿庸多言,按“下一步”完成安裝。
2. 配置
先講一下環境變量的作用:
JAVA_HOME變量:用于設定JAVA開發包所在目錄
TOMCAT_HOME變量:用于設定TOMCAT伺服器所在目錄
CLASSPATH變量:被編譯的java或jsp文件中import一些類庫(如java.io.*, java.lang.*等),當編譯程序javac.exe編譯java或jsp文件時,必須要知道這些類庫所在路徑。所以,CLASSPATH是用于設定java類庫
的搜索路徑,通常需要在CLASSPATH中設置值: %JAVA_HOME%\lib。當安裝完Microsoft JDBC Driver后,還需要加入: %JDBC_INSTALL_PATH%\lib\msbase.jar;%JDBC_INSTALL_PATH%\lib\mssqlserver.jar;%JDBC_INSTALL_PATH%\msutil.jar
注意:%JDBC_INSTALL_PATH%是安裝Microsoft JDBC Driver的目錄,例如,設置這個環境變量JDBC_INSTALL_PATH = "c:\program files\microsoft jdbc driver"
path變量: 用于設置java.exe(執行已編譯后的class), javac.exe(編譯java文件為class)等執行文件的路徑, 例如,可以在dos控制臺下直接鍵入javac.exe,而不用切換到javac.exe所在目錄再執行javac.exe。
3. 要點
一定要記得在安裝完成Microsoft JDBC后,將安裝目錄中的lib目錄下三個jar文件:
msbase.jar, mssqlserver.jar, msutil.jar拷貝到Tomcat目錄下common\lib目錄下,之后,
必須重新啟動Tomcat!這樣做的目的是,jsp頁面在編譯過程中不會出現找不到sql server driver類庫的問題.
但我實在是不明白:%JAVA_HOME%\lib已被設置為默認的庫路徑,當我把Microsoft JDBC Driver的三個jar文件:msbase.jar,mssqlserver.jar,msutil.jar拷貝到%JAVA_HOME%lib中后(%JAVA_HOME%\jre\lib也作了測試,并且設置了相應的CLASSPATH,結果一樣),然后運行jsp頁面,卻還仍然提示找不到驅動程序類庫。
難道,TOMCAT只識別自已的common\lib目錄下的類庫?
4. 連接SQL Server 2000的JSP代碼
<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html; charset=EUC_CN" %>
<html>
<body>
<%
?? Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
?? String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=OA"; // OA是數據庫名稱
?? String user="sa";
?? String password="";
?? Connection conn= DriverManager.getConnection(url,user,password);
?? Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
?? String sql="select * from MEMBERS_INFO"; // MEMBERS_INFO是表名
?? ResultSet rs=stmt.executeQuery(sql);
?? while(rs.next())
?? {
%>
?????? 您的第一個字段內容為:<%=rs.getString(1)%>
?????? 您的第二個字段內容為:<%=rs.getString(2)%>
<%
?? }
%>
<%out.print("數據庫操作成功,恭喜你");%>
<%
?? rs.close();
?? stmt.close();
?? conn.close();
%>
</body>
</html>