/**
 * jdbc方式去操作数据库,不需要配置数据源
 * 1.把java.sql.*引入
 * 2.需要引入三个Jar包
 * 3.特别说明,如果取值是按编号,则需要一一对应,如果是按照
 * 列名取值,则可以顺序灵活
 */
package com.test3;
import java.sql.*;
public class Test3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
        //PreparedStatement【火箭车】
//定义需要的对象
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;

try{
//初始化我们的对象
//1.加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//2.得到连接
ct=DriverManager.getConnection
("jdbc:microsoft:sqlserver://127.0.0.1:1433:databaseName=spdb2");
//3.创建火箭车
ps=ct.prepareStatement("select * from emp");
//ps=ct.prepareStatement("select ename,sal,deptno from emp");
//4.执行[如果是增加。删除,修改 executeUpdate()
//如果是查询 executeQuery()
rs=ps.executeQuery();
//循环的取出,雇员的名字,雇员的薪水,部门的编号
while(rs.next())
{
String name=rs.getString(2);
float sal=rs.getFloat(6);
int deptno=rs.getInt(8);
System.out.println(name+" "+sal+" "+deptno);
}

}catch(Exception e){
e.printStackTrace();
}finally{

}

}
}错误:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect.  Invalid URL.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at com.test3.Test3.main(Test3.java:24)

解决方案 »

  1.   


    String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
    看是你那个冒号惹的祸么?
      

  2.   

    sqlserver连接2000和2005以后的数据库字符串是不一样的。
    这个是2005的 
    public static final String DRIVE = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//驱动 
    public static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=books"; 
    这个是2000的 
    public static final String DRIVE = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//驱动 
    public static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books";
      

  3.   

    ct=DriverManager.getConnection
    ("jdbc:microsoft:sqlserver://127.0.0.1:1433:databaseName=spdb2");
    对,1433后面是分号
    ct=DriverManager.getConnection
    ("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb2");
      

  4.   

    一般情况127.0.0.1就是localhost,换成冒号也不行,新异常是什么
      

  5.   

    ct=DriverManager.getConnection
    (dbURL,username,password);自己替换试试
      

  6.   

    我的数据库时windows 验证模式,不用用户和密码
      

  7.   

    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect.  Invalid URL.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:207)
    at com.test3.Test3.main(Test3.java:24)
    这是新异常
    冒号 啥的都换了
      

  8.   

    SQL server 2000用这个,异常没变化啊?
    DRIVE = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//驱动 
    URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books";
      

  9.   

    /**
     * jdbc方式去操作数据库,不需要配置数据源
     * 1.把java.sql.*引入
     * 2.需要引入三个Jar包
     * 3.特别说明,如果取值是按编号,则需要一一对应,如果是按照
     * 列名取值,则可以顺序灵活
     */
    package com.test3;
    import java.sql.*;
    public class Test3 {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
            //PreparedStatement【火箭车】
    //定义需要的对象
    PreparedStatement ps=null;
    Connection ct=null;
    ResultSet rs=null;

    try{
    //初始化我们的对象
    //1.加载驱动
    //Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //2000
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");     //2005
    //2.得到连接
    // ct=DriverManager.getConnection
    // ("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb2");  //2000
    ct=DriverManager.getConnection
    ("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=spdb2");              //2005
    //3.创建火箭车
    ps=ct.prepareStatement("select * from emp");
    //ps=ct.prepareStatement("select ename,sal,deptno from emp");
    //4.执行[如果是增加。删除,修改 executeUpdate()
    //如果是查询 executeQuery()
    rs=ps.executeQuery();
    //循环的取出,雇员的名字,雇员的薪水,部门的编号
    while(rs.next())
    {
    String name=rs.getString(2);
    float sal=rs.getFloat(6);
    int deptno=rs.getInt(8);
    System.out.println(name+" "+sal+" "+deptno);
    }

    }catch(Exception e){
    e.printStackTrace();
    }finally{

    }
    }}控制台:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unable to connect.  Invalid URL.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:207)
    at com.test3.Test3.main(Test3.java:24)