首先检查你的user数据源是否配正确
试试:
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
strCon = "jdbc:odbc:user";  
sqlCon =DriverManager.getConnection(strCon , "webadmin", "lfc04hyypia");
sqlStmt =sqlCon .createStatement();
}
catch (ClassNotFoundException e) {
System.err.println("Connection: driver unavailable");
sqlCon = null;
}
catch (SQLException e) {
System.err.println("Connection: driver not loaded");
sqlCon = null;
}看看是什么异常

解决方案 »

  1.   

    不好意思弄错了。改正:
    首先检查你的user数据源是否配正确
    试试:
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
    strCon = "jdbc:odbc:user";  
    sqlCon =DriverManager.getConnection(strCon , "", "");
    sqlStmt =sqlCon .createStatement();
    }
    catch (ClassNotFoundException e) {
    System.err.println("Connection: driver unavailable");
    sqlCon = null;
    }
    catch (SQLException e) {
    System.err.println("Connection: driver not loaded");
    sqlCon = null;
    }看看是什么异常
      

  2.   

    用odbc进行间接连接,应该不用jdbc的驱动,看出错信息应该是你的sql语句的问题。
     
    strSQL = "select * from user";
       
        1。数据库中是否有名字为user的表。
        2。如果有user表的话,不知道odbc的数据库名字user和表名user会不会有冲突。
      

  3.   

    把表名改一个,不要用user作表名
      

  4.   

    首先谢谢各位,按照想飞的鱼兄弟的指点,我修改后的程序如下:
    <%@ page contentType="text/html; charset=GBK" %>
    <%@ page errorPage="accesstest_error.jsp" %>
    <html>
    <head>
    <title>
    jdbctest
    </title>
    </head>
    <body bgcolor="#ffffff">
    <h1>
    Jdbc 连接到 Access 数据库的例子</h1>
    <%
    java.sql.Connection sqlCon; //数据库连接对象
    java.sql.Statement sqlStmt; //SQL语句对象
    java.sql.ResultSet sqlRst; //结果集对象
    java.lang.String strCon; //数据库连接字符串
    java.lang.String strSQL; //SQL语句
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
    strCon = "jdbc:odbc:user";  
    sqlCon =DriverManager.getConnection(strCon , "", "");
    sqlStmt =sqlCon .createStatement();
    }
    catch (ClassNotFoundException e) {
    System.err.println("Connection: driver unavailable");
    sqlCon = null;
    }
    catch (SQLException e) {
    System.err.println("Connection: driver not loaded");
    sqlCon = null;
    }%>
    </body>
    </html> 出错如下:
    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 12 in the jsp file: /test.jspGenerated servlet error:
        [javac] Compiling 1 source fileD:\tomcat\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:61: cannot resolve symbol
    symbol  : variable DriverManager 
    location: class org.apache.jsp.test_jsp
    sqlCon =DriverManager.getConnection(strCon , "", "");
            ^An error occurred at line: 12 in the jsp file: /test.jspGenerated servlet error:
    D:\tomcat\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:68: cannot resolve symbol
    symbol  : class SQLException 
    location: class org.apache.jsp.test_jsp
    catch (SQLException e) {
           ^
    2 errors
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:128)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:418)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:461)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:442)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)不知道什么原因?请高手指点
      

  5.   

    在jsp中加上import="java.sql.*"
    或者改 DriverManager为 java.sql.DriverManager
    试试
      

  6.   

    首先非常谢谢《想飞的鱼》兄弟不吝赐教!
    按照《想飞的鱼》兄弟的指点,在jsp中加上import="java.sql.*"
    或者改 DriverManager为 java.sql.DriverManager
    还是出错了!
    兄弟,你有没有完整的jsp连接sql2000的代码呢?
      

  7.   

    我没有现成的代码.
    jsp连接sql2000,一样可以用odbc.
    你在odbc数据源管理器中 建一个系统DSN驱动sql server, 测试成功的话!
    一样可以用上面的方法,只需改用户名和密码。
    上面你的user这个数据源是否正确.
      

  8.   

    user数据原是在odbc数据管理器中配制的,应该没问题的
    我不知道是不是我的系统变量配制的错误
    如下:classpath=%JAVA_HOME%\lib;%TOMCAT_HOME%\lib     JAVA_HOME=D:\j2sdk1.4.2     path=d:\j2sdk1.4.2\bin;.;d:\j2sdk1.4.2\lib\dt.jar;
         d:\j2sdk1.4.2\lib\tools.jar     TOMCAT_HOME= d:\tomcat
    请鱼兄弟指点
      

  9.   

    JAVA_HOME=D:\j2sdk1.4.2
    TOMCAT_HOME=D:\tomcatclasspath=%JAVA_HOME%\bin;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\jre\lib\rt.jar;%TOMCAT_HOME%\common\lib\servlet.jar我的环境变量,你的classpath看看。
    你的错误再看看
      

  10.   

    首先我建议连接数据库不要在页面里实现
    如果用Struts的话,可以在容器或Struts中配置数据源
    然后写几个小类就可以实现连接数据库
    而且安全
      

  11.   

    sql server中 user是系统table名称,好像[user]可以的
      

  12.   

    二、jsp连接Sql Server7.0/2000数据库 
    testsqlserver.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=pubs"; 
    //pubs为你的数据库的 
    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 test"; 
    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://www.csdn.net/develop/Read_Article.asp?Id=17769
    这种问题可以先搜索以前的帖子的
      

  13.   

    同意楼上acefr() ;
    你改改user
      

  14.   

    出错信息已经提示是User有问题,User是关键字不能作表名的,改
      

  15.   

    我用《acefr()》兄弟的方法测试后错误如下:
    .servlet.ServletException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:795)
    org.apache.jsp.test_jsp._jspService(test_jsp.java:88)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    root cause java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1365)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1212)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:184)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:110)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:141)
    org.apache.jsp.test_jsp._jspService(test_jsp.java:49)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    note The full stack trace of the root cause is available in the Tomcat logs.是什么原因?
      

  16.   

    1. 是可能你没有jdbc driver for sql
    2. 是你已安装,则把mssqlserver.jar和其它两个jar文件(同一目录下)
       复制到你的当前jsp文件中.
     就ok 
      

  17.   

    请问才哪个文件夹下可找到mssqlserver.jar和其它两个jar文件?
      

  18.   

    同意x0y1z2(一个好人) 的说法
      

  19.   

    现在我把原程序改了,
    如下:<%@ page contentType="text/html; charset=GBK" %>
    <%@ page errorPage="accesstest_error.jsp" %>
    <html>
    <head>
    <title>
    jdbctest
    </title>
    </head>
    <body bgcolor="#ffffff">
    <h1>
    Jdbc 连接到 sql2000数据库的例子</h1>
    <%
    java.sql.Connection sqlCon; //数据库连接对象
    java.sql.Statement sqlStmt; //SQL语句对象
    java.sql.ResultSet sqlRst; //结果集对象
    java.lang.String strCon; //数据库连接字符串
    java.lang.String strSQL; //SQL语句
    //装载JDBC-ODBC驱动程序
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
    strCon = "jdbc:odbc:ff";
    sqlCon = java.sql.DriverManager.getConnection(strCon,"","");
    //创建SQL语句对象
    sqlStmt = sqlCon.createStatement();
    strSQL = "select * from faqs";
    out.println(strSQL);
    sqlRst = sqlStmt.executeQuery(strSQL);
    //打印测试
    if( sqlRst != null ){
    out.println("一共有"+sqlRst.getRow()+"条记录");
    while( sqlRst.next() ){
    out.println("你的用户名字是:\t" + sqlRst.getString("subject")+"<br>");
    out.println("你的密码是:\t" + sqlRst.getString("answers")+"<br>");
    out.println("一共有"+sqlRst.getRow()+"条记录<br>");
    }
    out.println("一共有"+sqlRst.getRow()+"条记录");
    }
    sqlRst.close();
    sqlCon.close();
    %>
    </body>
    </html>
    错误如下:
    HTTP Status 404 - /accesstest_error.jsp--------------------------------------------------------------------------------type Status reportmessage /accesstest_error.jspdescription The requested resource (/accesstest_error.jsp) is not available.
    --------------------------------------------------------------------------------Apache Tomcat/5.0这是什么原因呢?请教各路高人?
      

  20.   

    此处有下载:http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp
      

  21.   

    请教mssqlserver.jar和其它两个jar文件应该放在哪个目录下?
      

  22.   

    http://www.cn-java.com/target/download.php?id=1837&downurl=http://www.cn-java.com/download/jdbc/mssqldriver.zip或者http://www.uncj.com/upload/files/ms_jdbc_setup.exeaccesstest_error.jsp中必须设置isErrorPage=true
    <@page isErrorPage=true >
      

  23.   

    下载:
    http://www.cn-java.com/target/download.php?id=1837&downurl=http://www.cn-java.com/download/jdbc/mssqldriver.zip或者http://www.uncj.com/upload/files/ms_jdbc_setup.exeaccesstest_error.jsp中必须设置isErrorPage="true"
    <@page isErrorPage="true" >
      

  24.   

    我这里多谢各位了!忒别是想飞的鱼兄弟不厌其烦的给我指点!
    我把tomcat5重新解压缩问题就解决了!