站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题在JSP中使用 Microsoft JDBC Driver 连接SQL Server2000

在JSP中使用 Microsoft JDBC Driver 连接SQL Server2000

摘要: 在JSP中使用 Microsoft JDBC Driver 连接SQL Server2000

本来这个问题是老问题了,但是,查了网上的中文资料,实在是...,要么是讲得不清楚,要不就是环节有问题,
CSDN论坛中细细翻阅FAQ中讲得只是JSP代码连接SQL Server,及略带讲述必须安装Microsoft JDBC驱动,只好细细翻阅
CSDN论坛贴子,并亲自操刀实践了多次,现总结如下:

情况比想象中的要坏得多:调了一个多小时,终于连接到SQL Server2000,很恼火啊,呵呵!
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" %>

<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>



↑返回目录
前一篇: JSP页面&
后一篇: 实现jsp页面得分页显示功能方案