CSDN博客

img yjgx007

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

发表于2004/6/29 23:48:00  6429人阅读

分类: JSP

本来这个问题是老问题了,但是,查了网上的中文资料,实在是...,要么是讲得不清楚,要不就是环节有问题,
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" %>
<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>

0 0

相关博文

我的热门文章

img
取 消
img