String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:ajwuliu";我建的数据库叫ajwuliu   这个没错吧,但是出现  500错误  ,大家看看是不是我的数据库没有配置正确了,我感觉是
The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /www/Eserve/ELogin.jsp(3,0) The value for the useBean class attribute JavaBean.sql_data is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1231)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Generator.generate(Generator.java:3442)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:231)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:347)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
这是数据库连接文件package JavaBean;
public class sql_data {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:ajwuliu";
//pubs为你的数据库的
String user = "sa";
String password = "sa";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
public sql_data() {
try {
Class.forName(sDBDriver);
} catch (java.lang.ClassNotFoundException e) {
System.err.println("sql_data(): " + e.getMessage());
}
}
public void executeInsert(String sql) {
try {
//conn = DriverManager.getConnection(url,user,password);
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (SQLException ex) {
System.err.println("sql_data.executeUpdate:" + ex.getMessage());
}
}
public ResultSet executeQuery(String sql) {
try {
conn = DriverManager.getConnection(url, user, password);
stmt =
conn.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
System.err.println("sql_data.executeQuery:" + ex.getMessage());
}
return rs;
}
public void executeUpdate(String sql) {
try {
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
}
public void executeDelete(String sql) {
try {
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (SQLException ex) {
System.err.println("sql_data.executeDelete:" + ex.getMessage());
}
}
public void closeStmt() {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
} public void closeConn() {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

解决方案 »

  1.   

    String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String url = "jdbc:odbc:ajwuliu";
     你用的是sqlservlet 2000 吧  要改改这两句话了
    String sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=数据库名称";
    //这是sqlserver 2000的连接
    //需要三个jar包哦 
      

  2.   

    jdbc,odbc 桥连接,现在运行机器上注册odbc数据源。
      

  3.   

    String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String url = "jdbc:odbc:ajwuliu";你使用的是odbc建立连接,首先需要配置数据源,步骤:
    进入“控制面板”--》“管理工具”--》“数据源”--“选择用户DSN”--"添加"--“选择sqlserver”
    --“完成”--“输入名称,描述等信息,服务器选择要连接的用户”--直至完成
      

  4.   


    package com.impl;import java.sql.*;public class BaseDao {    
        public final static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";                 // 数据库驱动
        public final static String URL    = "jdbc:sqlserver://117.21.178.8;DataBaseName=bk_store";   // url
        public final static String DBNAME = "sa";                                                           // 数据库用户名
        public final static String DBPASS = "isnotsuitable";                                                           // 数据库密码
            public Connection getConn() throws ClassNotFoundException, SQLException{
            Class.forName(DRIVER);                                                    //注册驱动
            Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS);        //获得数据库连接
            return conn ;                                                            //返回连接
        }
        
        /**
         * 释放资源
         * @param conn 数据库连接
         * @param pstmt PreparedStatement对象
         * @param rs 结果集
         */
        public void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) {
            /*  如果rs不空,关闭rs  */
            if(rs != null){
                try { rs.close();} catch (SQLException e) {e.printStackTrace();}
            }
            /*  如果pstmt不空,关闭pstmt  */
            if(pstmt != null){
                try { pstmt.close();} catch (SQLException e) {e.printStackTrace();}
            }
            /*  如果conn不空,关闭conn  */
            if(conn != null){
                try { conn.close();} catch (SQLException e) {e.printStackTrace();}
            }
        }
        
        /**
         * 执行SQL语句,可以进行增、删、改的操作,不能执行查询
         * @param sql  预编译的 SQL 语句
         * @param param  预编译的 SQL 语句中的‘?’参数的字符串数组
         * @return 影响的条数
         */
        public int executeSQL(String preparedSql,String[] param) {
            Connection        conn  = null;
            PreparedStatement pstmt = null;
            int               num   = 0;
            
            /*  处理SQL,执行SQL  */
            try {
                conn = getConn();                              // 得到数据库连接
                pstmt = conn.prepareStatement(preparedSql);    // 得到PreparedStatement对象
                if( param != null ) {
                    for( int i = 0; i < param.length; i++ ) {
                        pstmt.setString(i+1, param[i]);         // 为预编译sql设置参数
                    }
                }
                num = pstmt.executeUpdate();                    // 执行SQL语句
            } catch (ClassNotFoundException e) {
                e.printStackTrace();                            // 处理ClassNotFoundException异常
            } catch (SQLException e) {
                e.printStackTrace();                            // 处理SQLException异常
            } finally {
                closeAll(conn,pstmt,null);                     // 释放资源
            }
            return num;
        }}
      

  5.   

    你用的是Sql_server2005还是Oracle