很明显的问题,你在使用连接池时没有在server.xml文件和web.xml文件中指定数据源,和相应的驱动程序!如果你直接连接数据库时应该没问题,如果用连接池时,就要配置数据源!

解决方案 »

  1.   

    那请问一下高手,我调用的bean没有涉及到连接池啊。
    如果是涉及到了,我该怎么在server.xml文件和web.xml文件中指定数据源和相应的驱动程序啊?
      

  2.   

    我的bean是这样连接数据库的(部分)public ResultSet query( String s )
    {
    sql = s;
    resultSet1 = null; String url = "jdbc:odbc:yell095";
    String username = "yell.shine";
    String password = "123456"; try{
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
                       connection = DriverManager.getConnection( url, username, password ); statement = connection.createStatement();
    resultSet1 = statement.executeQuery( sql );
    }
    catch( Exception e ){
    errorMessage = e.getMessage();
    }
    return resultSet1;
    }请问这个和连接池有关么?
    我现在就去查连接池
      

  3.   

    [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
    这样啊,可能是你的odbc数据源还没有配置好,不如重新配置一次!
      

  4.   

    用odbc的话用的是jdbcodbc bridge,无需驱动,只要将odbc配置好了就行了!
      

  5.   

    求各位大虾了,我在网上找了半天,就是没有找到一个完整的解决办法
    难道就没有人遇到过这样的问题么?
    本地的java应用程序能够访问数据库,证明ODBC数据源应该没有问题
    可是jsp调用bean却无法访问,出现了[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 的错误
    请指教啊!
      

  6.   

    求各位大虾了,我在网上找了半天,就是没有找到一个完整的解决办法
    难道就没有人遇到过这样的问题么?
    本地的java应用程序能够访问数据库,证明ODBC数据源应该没有问题
    可是jsp调用bean却无法访问,出现了[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 的错误
    请指教啊!
      

  7.   

    试试Access
    或用其它的驱动类来连接SQL Server
      

  8.   

    试试Access
    或用其它的驱动类来连接SQL Server
      

  9.   

    对,用一用ACCESS,我以前也是这样,用ACCESS,就好了。
    不过我也不知道怎么搞的。
      

  10.   

    在数据源(odbc)里的系统DSN里配置一个数据源,名字就是你 的 yell095,测试成功后就能用了,有兴趣还可以去用tomcat的apache连接池
      

  11.   

    [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序我的也是这样的问题
    桥建立成功!
    数据库连接失败!
      

  12.   


    给你一个直连的,别忘了把三个驱动包加上.
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%package study;
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
     
    public class ConnSql 
    {
      public  Connection connection = null;  //获得数据库连接
      private Statement stmt = null; //创建语句
      ResultSet rs = null;
      boolean isConnection = true;
      String strDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
      String strUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DBNAME";
      String strUserName = "sa";
      String strUserPassWord = "sa";  
      //构造函数
      public ConnSql() 
      {}
      /**
      * 功能:
      *     连接数据库
      * @return boolean
      */
      public boolean setConnectDataBase() throws Exception 
      {
    try 
    {
      Class.forName(strDriver).newInstance();
      connection = DriverManager.getConnection(strUrl,strUserName,strUserPassWord);
      stmt = connection.createStatement();
    }
    catch (Exception e) 
    {
      isConnection = false;
      System.out.println("数据库连接出现如下异常:" + e.getMessage());
    }
    return isConnection;
      }
      
      /**
      * 功能:
      *     设置是否自动提交 arg = true 自动提交, arg = false 不自动提交 
      * @return boolean
      */
      public boolean setAutoCommit(boolean arg)
    {
      try 
      {
    connection.setAutoCommit(arg);
      }
      catch (Exception e) 
      {
       System.out.println("设置是否自动提交出现如下异常:" + e.getMessage());
      }
      return isConnection;
    }  /**
       * 功能:
       *     添加
       * @param strSql sql语句
       * int intRow = 1; 正常 intRow = 0; 出错
       * @return int
       */
      public int executeInsert(String strSql) 
      {
    int intRow = 1; //正常
    try 
    {
      intRow = stmt.executeUpdate(strSql);
    }
    catch (SQLException eExcutQuery) 
    {
      intRow = 0; //出错
      System.out.println("执行添加操作出现如下异常:" + eExcutQuery.getMessage());
    }
    return intRow;
      }  /**
       * 功能:
       *     查询
       * @param strSql sql语句
       * @return ResultSet
       */
      public ResultSet executeQuery(String strSql) 
      {
    try 
    {
      rs = stmt.executeQuery(strSql);
    }
    catch (SQLException eExcutQuery) 
    {
      rs = null;
      System.out.println("执行查询操作出现如下异常:" + eExcutQuery.getMessage());
    }
    return rs;
      }  /**
       * 功能:
       *     更新
       * @param strSql sql语句
       * int intRow = 1; 正常 intRow = 0; 出错
       * @return int
       */
      public int executeUpdate(String strSql) 
      {
    int intRow = 1; //正常
    try 
    {
      intRow = stmt.executeUpdate(strSql);
    }
    catch (SQLException eExecteUpdate) 
    {
      System.out.println("执行更新操作出现如下异常:" + eExecteUpdate.getMessage());
      intRow = 0; //出错
    }
    return intRow;
      }  /**
       * 功能:
       *     删除
       * @param strSql sql语句
       * int intRow = 1; 正常 intRow = 0; 出错
       * @return int
       */
      public int executeDelete(String strSql) 
      {
     int intRow = 1; //正常
     try 
     {
       intRow = stmt.executeUpdate(strSql);
     }
     catch (SQLException eExecteUpdate) 
     {
       System.out.println("执行删除操作出现如下异常:" + eExecteUpdate.getMessage());
       intRow = 0; //出错
     }
     return intRow;
       }   /**
     * 功能:
     *     关闭所有连接
     */
       public void closeAll()
       {
        try
        {
    if(rs != null)
     {
    rs.close();
    rs = null;
     }  if(stmt!=null)
     {
       stmt.close();
       stmt = null;
     }  if(connection!=null)
     {
       connection.close();
     }
        }
        catch(Exception e)
        {
        System.out.println("关闭数据出现如下异常:" + e.getMessage());
        }
        } /**
       * 功能:
       *     提交数据
       */
     public void commit()
     {
      try
      {
    connection.commit();
      }
      catch(Exception e)
      {
      System.out.println("提交数据出现如下异常:" + e.getMessage());
      }
     } /**
       * 功能:
       *     回滚数据
       */
     public void rollback()
     {
    try
    {
    connection.rollback();
    }
    catch(Exception e)
    {
    System.out.println("回滚数据出现如下异常:" + e.getMessage());
    }
     }   }
      

  13.   

    我是初学者知道的很少
    还是请给位看我的程序吧
    <%@ page contentType="text/html;charset=GB2312"%>
    <%@ page import="java.sql.*"%>
    <html>
    <body>
    <%!
    Connection con;
    %>
    <%
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch(ClassNotFoundException e){}
    try{
    con=DriverManager.getConnection("jdbc:odbc:ding","sa","fakdsl");
    out.print(1);
    }
    catch(SQLException ee){
    out.print(ee.toString());
    }
    %>
    </body>
    </html>输出结果是:
    java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
    使用java程序直接连接没有问题.程序如下:
    import java.sql.*;
    class SqlConnection 
    {
    Connection con;
    public SqlConnection(){}
    public String SConnection(){
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch(ClassNotFoundException e){}
    try{
    con=DriverManager.getConnection("jdbc:odbc:ding","sa","ding4891");
    return "连接成功!";
    }
    catch(SQLException ee){
    return "连接失败!"+ee.toString();
    }
    }

    }
    class  SqlCon
    {
    public static void main(String[] arg){
    SqlConnection s;
    s=new SqlConnection();
    String a=s.SConnection();
    System.out.print(a);
    }
    }
    运行结果是:
    连接成功!
    -----------------------------------------------------------------