回 帖 发 新 帖 刷新版面

主题:jsp与sql2000数据库连接问题,急求!

我用的是jdk1.5.0+tomcat5.0.25+sql2000+sqlsp4+sqldriver+sqldriversp3
运行下列的代码:
  <%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
       <html>
       <body>
       <% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
          String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubss";
          //pubss 为你的数据库的数据源
          String user="sa";
          String password="admin";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select job_id,job_desc from jobs";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) { %>
                您的第一个字段内容为:<%=rs.getString(1)%><br>
                您的第二个字段内容为:<%=rs.getString(2)%><br>
       <% } %>
       <% out.print("数据库操作成功,恭喜你"); %>
       <% rs.close();
          stmt.close();
          conn.close();
       %>
       </body>
       </html>
结果会出现下列的问题:
  The server encountered an internal error () that prevented it from fulfilling this request.

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.sql_005ftext_jsp._jspService(sql_005ftext_jsp.java:86)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
    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:810)


root cause 

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
    com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
    com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
    com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
    com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    java.sql.DriverManager.getConnection(DriverManager.java:525)
    java.sql.DriverManager.getConnection(DriverManager.java:171)
    org.apache.jsp.sql_005ftext_jsp._jspService(sql_005ftext_jsp.java:55)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
    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:810)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.

我的classpath已经设置好拉,并且把
 C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib目录下的三个jar文件复制到C:\Tomcat\common\lib下
可是还是会出现上面的问题!
还有,那个用数据库和windows混合登陆的方式是怎么回事?在哪里操作?
那位高手帮忙解决一下!多谢!

回复列表 (共8个回复)

沙发

呵呵!
我已经解决拉!

板凳

怎么解决的,我也是新手想请教一下

3 楼

11631880

4 楼

你好:
    我也是一位新手,麻烦你给公布一下你的方法。
    还有我现在编了一个登陆界面和注册截面,凡是和数据库(Sql 2000)连接的都会出现以下问题:
     org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 26 in the jsp file: /reg2.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:69: <identifier> expected
class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     ^


An error occurred at line: 26 in the jsp file: /reg2.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:69: '{' expected
class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                                             ^


An error occurred at line: 26 in the jsp file: /reg2.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:76: ';' expected
String sql="select * from custom where uid='"+uid"'";
                                                 ^


An error occurred at line: 26 in the jsp file: /reg2.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:79: illegal start of type
if(rs.next())
^


An error occurred at line: 133 in the jsp file: /reg2.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:225: <identifier> expected
      out.write("\r\n");
                       ^


An error occurred at line: 133 in the jsp file: /reg2.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:226: <identifier> expected
      out.write("</body>\r\n");
               ^


An error occurred at line: 133 in the jsp file: /reg2.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:227: <identifier> expected
      out.write("</html>\r\n");
               ^


Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:228: 'catch' without 'try'
    } catch (Throwable t) {
      ^


Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:31: 'try' without 'catch' or 'finally'
    try {
    ^


Generated servlet error:
D:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\reg2_jsp.java:240: '}' expected
^
10 errors



    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    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)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
    麻烦给解释以一下,谢谢

5 楼

4楼的jdbc设置好了么?

6 楼


是不是因为数据库字段的属性不允许读写造成的,偶好像也遇到过!

7 楼


      楼主能不能说下解决方法?
          [em2]

8 楼

我看好像是class.forName()有错,应该是Class.forName(...).class的C要大写。
可以试试

我来回复

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