回 帖 发 新 帖 刷新版面

主题:sqlserver和jsp连接的问题

安装完microsoft的jdbc驱动,设置完环境变量classpath,并且把三个文件复制到common/lib下,然后写出连接的jsp文件如下
<%@ 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:1433;DatabaseName=music";
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
String sql="select * from User";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%
}
%>
<%out.print("数据库操作成功,恭喜你");%>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
可是确报错了
如下:
exception 

javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.test_jsp._jspService(test_jsp.java:111)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

我进行逐句测试,发现Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
这句已经成功执行了,说明加载驱动应该没问题了
但是
Connection conn= DriverManager.getConnection(url,user,password);
这句就通不过了,我在sql下建立了一个叫music的数据库,但是jsp文件却无法访问它,我是在xp系统下装的sqlserver2000个人版(是环境有问题吗?),以前都是用jdbcOdbcDriver连接的,现在想尝试下这种连接,但是却碰壁了,希望高手指点

回复列表 (共2个回复)

沙发

我也遇到了和你一样的问题,观望中.

板凳

我已经解决了.把sqlserver2000升级到sp4即可

我来回复

您尚未登录,请登录后再回复。点此登录或注册