注册 登录
编程论坛 J2EE论坛

jsp如何连接SQL Server?

青格儿 发布于 2007-11-17 09:23, 2171 次点击

我刚学JSP,不会连接数据库,JDBC要从网上下吗?具体步骤是什么?请大家帮帮我,谢谢!

16 回复
#2
青格儿2007-11-17 09:59

连上后,怎么测试连上了?

public class DBConnection {
// 联接数据库的驱动程序,缺省值
private String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
// 联接数据库的URL,缺省值
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
// 联接数据库的用户与口令
private String user = "sa";
private String password = "sa";

public DBConnection() throws Exception {
// 装载驱动程序
Class.forName(driverName).newInstance();
}

public Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, user, password);
}

public static void main(String[] args) throws Exception {
DBConnection dbconnection = new DBConnection();
dbconnection.getConnection();
System.out.println("Connection OK!");
}
}
这段代码应粘到MyEclipse的那里?

#3
无缘今生2007-11-17 10:15
这要看你想要通过什么方式(javabean servlet...)来操作啦。
至于测试是否连接上了。你可以调用hashCode()函数,如果正确连接会输出一个hash编码。
也可以用其来获取数据库的数据并显示出来。
#4
csight2007-11-17 10:19
1.先安装好SQL Server;用户名和密码是"sa"和"sa" //和你的程序对应
2.建立一个数据库叫test;
3.把JDBC到SQL Server的connector加入classpath(集成环境可直接在里面添加);
4.运行上面的程序;
如果打印出"Connection OK!",就表明链接成功;
反之就是出现异常,可能是数据库没有装好或是connector没有弄好;
#5
青格儿2007-11-17 10:51

谢谢楼上的朋友!我运行了,不知为什么就是运行不出来!
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:8081;DatabaseName=tempdb";
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 sysusers";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%
}
%>
<%out.print("数据库操作成功,恭喜你");%>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
http://localhost:8081/helloworldweb/MyJsp.jsp
默认sql用户名“sa”密码为空!如果用上面的代码测试,报错:

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /MyJsp.jsp at line 6

3: <html>
4: <body>
5: <%
6: Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
7: String url="jdbc:microsoft:sqlserver://localhost:8081;DatabaseName=tempdb";
8: String user="sa";
9: String password="";


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:515)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause


#6
csight2007-11-17 11:01

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
上句语句没有错;JDBC没有装好吧;

#7
青格儿2007-11-17 11:26
JDBC没有装好吧?JDBC我是按默认路径装的,环境变量也配了!JDBC还要装到SQL Server的下面吗?
#8
csight2007-11-17 11:42
在Eclipse中JDBC要额外添加的,不知道lz的IDE是哪种?
#9
Gavin_1232007-11-17 11:56

我也有这样的问题!

#10
青格儿2007-11-20 08:34
今天有人告诉我还要打补丁,sql server 2000 Sp3补丁及Sp4以上才可以连上SQL Server!是这样吗?大家有没有知道的?Mysql有这样的限制么?

[此贴子已经被作者于2007-11-20 8:56:00编辑过]


#11
Gavin_1232007-11-20 10:47
sql server 2000 你的是2000吗?那我就不清楚,我的是xp
#12
青格儿2007-11-20 16:12

终于连上了!太高兴了!谢谢大家!

#13
走刀口→超2007-11-23 14:57
么吧。

我喜欢MYSQL。导1个包就好咯`比SQL SERVER 2000简单多了饿!
#14
guoxhvip2007-11-23 15:03
需要的打SP4补丁
#15
青格儿2007-11-25 11:02
版主正解,打了补丁就行了

MySql 我没用过 我装了个打开是个DOS窗口的,看起来不太方便啊!
大家用的也是吗?还是......
#16
wqy2007-11-25 12:32
那三个驱动文件都装到path去了吗?
#17
Hello_Java2007-11-29 19:09
打上 补丁就能用了,我开始也弄了好久,打上sql server 2000 sp4的补丁和sql server 2000 jdbc sp3 的补丁就行了.
1