很有可能是通过配置数据源,通过DataSource来取得Connection的时候,出现的这种情况,再看看配置数据库的地方,是否正确

解决方案 »

  1.   


    import java.sql.Connection; //代表队特定数据库的连接
    import java.sql.DriverManager; //处理驱动的调入并且对产生新的数据库连接提供支持
    import java.sql.ResultSet; //控制对一个特定语句进行数据的存取
    import java.sql.Statement; //代表一个特定的容器, 来对一个特定的数据库执行SQL语句public class SQLServer_Conn {
    Connection conn = null;
    Statement stat = null;
    ResultSet rs = null;
    public SQLServer_Conn(){
    try{
    //加载JDBC驱动(需要先将SQLServer配套驱msbase.jar、mssqlserver.jar、msutil.jar动导入工程)
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //SQL Server2000版
    //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //SQL Server2008版
    System.out.println("驱动加载成功!");
    //创建数据库连接
    String url="jdbc:sqlserver://localhost:1433;DatabaseName=test;"; //SQL Server2000版
    //String url = "jdbc:sqlserver://localhost:1492;databasename=javaDB"; //SQL Server2008版
    String user="sa"; //数据库用户名
    String password="shuguang"; //用户密码
    conn = DriverManager.getConnection(url,user,password);
    System.out.println("数据库连接成功!");
    }
    catch(Exception e){
    System.out.println("出现数据库连接错误");
    e.printStackTrace();
    }try {
    stat = conn.createStatement();
    String sql="这里请写SQL语句";
    rs=stat.executeQuery(sql);
    while(rs.next()){ //若表中存在数据,则显示第一个字段列中的数据
    System.out.println(rs.getString(1));
    }
    } catch (Exception e2) {
    System.out.println("出现SQL语句错误…");
    e2.printStackTrace();
    }finally { //最后关闭所有连接,释放内存
                try {
                    if (rs != null) {
                        rs.close();
                    }
                    if (stat != null) {
                        stat.close();
                    }
                    if (conn != null) {
                        conn.close();
                    }
                } catch (Exception e3) {
                    e3.printStackTrace();
                }
            }
    }
    }
    你看你导入sql包没