解决了jsp连接sqlserver2000的问题【原创】
老师布置了个实验,说要连接sqlserver数据库,于是本人想用比较熟悉的jsp来连接,之前就有尝试连接,但由于补丁的问题常常出错,今天也不例外,我排斥了两个错误后方才连接上的。
第一个错误我忘记了,第二个错误好像是端口的问题,但最后发现是补丁的问题,我打的是sp3,打完后就可以连接了。说得很烂吧,呵呵,这篇文章我是想记录下来而已,以后一看应该就可以解决问题。
以下是测试连接代码:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
//安装SQL Server 2000 SP4补丁
//安装Microsoft SQL Server 2000 Driver for JDBC
//将Microsoft SQL Server 2000 Driver for JDBC\lib目录下的三个jar复制到Tomcat5\common\lib目录下
//或者将这三个jar设置到CLASSPATH中
// 定义数据库驱动程序
String DBDRIVER="com.microsoft.jdbc.sqlserver.SQLServerDriver";
// 定义数据库连接地址
String DBURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
// 定义数据库连接用户名和密码
String DBUSER="sa";
String DBPASSWORD="";
// 定义数据库连接对象,属于java.sql包中的接口
Connection conn=null;
// 定义PreparedStatement对象,用于操作数据库
PreparedStatement pstmt=null;
// 查询返回的结果集对象
ResultSet rs=null;
// 定义一字符串变量,用于保存SQL语句
String sql=null;
%>
<%
try{
// 1、加载驱动程序
Class.forName(DBDRIVER).newInstance();
// 2、连接数据库
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
System.out.println("DataBase Connection OK!!!");
out.println("DataBase Connection OK!!!");
}catch(Exception e){
System.out.println("DataBase Connection Failure!!!" + e.getMessage());
out.println("DataBase Connection Failure!!!" + e.getMessage());
}
try{
// 3、操作数据库
sql="select * from authors";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
%>
<table border="1">
<tr>
<td>au_id</td>
<td>au_lname</td>
<td>au_fname</td>
<td>phone</td>
<td>address</td>
<td>city</td>
<td>state</td>
<td>zip</td>
</tr>
<%
while(rs.next())
{
String id=rs.getString("au_id");
String lname=rs.getString("au_lname");
String fname=rs.getString("au_fname");
String phone=rs.getString("phone");
String address=rs.getString("address");
String city=rs.getString("city");
String state=rs.getString("state");
String zip=rs.getString("zip");
%>
<tr>
&nb