具体程序如下
package page1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class DBUtil {
private static String driver;
private static String url;
private static String user;
private static String password;
static{
try {
driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
url =  "jdbc:sqlserver://127.0.0.1:1433/test";
user = "sa";
password = "123456";
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection(){
try {
return DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static void close(ResultSet rs,Statement st,Connection conn){
try {
if(rs!=null)
rs.close();
if(st!=null)
st.close();
if(conn!=null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}

}
public static void main(String[] args) {
System.out.println(getConnection());
}
}异常如下
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(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at page1.DBUtil.main(DBUtil.java:14)
大神请帮帮忙,明天就要交了,拜托了

解决方案 »

  1.   

    url是这样的:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=xxoo 
      

  2.   

    url =  "jdbc:sqlserver://127.0.0.1:1433/test"; 这种写法是错误的
    写成这样试试
    URL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test"; 
      

  3.   

    改成那样后,还是有异常,返回null
      

  4.   


    改后还是有异常,返回null
      

  5.   

    String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test";这么写
      

  6.   

    com.microsoft.sqlserver.jdbc.SQLServerDriver反正2008是这个包
      

  7.   

    不行,driver,url,usr,pwd前面都加string还是不行,返回null
      

  8.   

    哪用动态的要怎么改呢?
    这个我习惯将他写到方法里去
    你是连接SQLserver2000?   你用了连接SQLserver2008的包?   我没用过 2000  但我知道 2005和2008所用的jar包都不一样。
      

  9.   

    哪用动态的要怎么改呢?
    这个我习惯将他写到方法里去
    你是连接SQLserver2000?   你用了连接SQLserver2008的包?   我没用过 2000  但我知道 2005和2008所用的jar包都不一样。我同学把他的2008的驱动包配置在我的2000上,后来我把lib里的驱动换成了2000的,不过还是返回null
      

  10.   

    哪用动态的要怎么改呢?
    这个我习惯将他写到方法里去
    你是连接SQLserver2000?   你用了连接SQLserver2008的包?   我没用过 2000  但我知道 2005和2008所用的jar包都不一样。我同学把他的2008的驱动包配置在我的2000上,后来我把lib里的驱动换成了2000的,不过还是返回null
    我好久都没用SQLserver老,我建议你完全可以去百度一下,上面的代码只需要你改动下数据库名。我拷过来也没啥意思得。
      

  11.   

    哪用动态的要怎么改呢?
    这个我习惯将他写到方法里去
    你是连接SQLserver2000?   你用了连接SQLserver2008的包?   我没用过 2000  但我知道 2005和2008所用的jar包都不一样。我同学把他的2008的驱动包配置在我的2000上,后来我把lib里的驱动换成了2000的,不过还是返回null
    我好久都没用SQLserver老,我建议你完全可以去百度一下,上面的代码只需要你改动下数据库名。我拷过来也没啥意思得。如何搜索,搜索什么内容呢?
      

  12.   

    Unable to connect.  Invalid URL.
    这一句话就说明了所有信息
      

  13.   

    哪用动态的要怎么改呢?
    这个我习惯将他写到方法里去
    你是连接SQLserver2000?   你用了连接SQLserver2008的包?   我没用过 2000  但我知道 2005和2008所用的jar包都不一样。我同学把他的2008的驱动包配置在我的2000上,后来我把lib里的驱动换成了2000的,不过还是返回null
    我好久都没用SQLserver老,我建议你完全可以去百度一下,上面的代码只需要你改动下数据库名。我拷过来也没啥意思得。如何搜索,搜索什么内容呢?
    http://blog.sina.com.cn/s/blog_484dbdec01015qb4.html
      

  14.   

    哪用动态的要怎么改呢?
    这个我习惯将他写到方法里去
    你是连接SQLserver2000?   你用了连接SQLserver2008的包?   我没用过 2000  但我知道 2005和2008所用的jar包都不一样。我同学把他的2008的驱动包配置在我的2000上,后来我把lib里的驱动换成了2000的,不过还是返回null
    我好久都没用SQLserver老,我建议你完全可以去百度一下,上面的代码只需要你改动下数据库名。我拷过来也没啥意思得。如何搜索,搜索什么内容呢?
    http://blog.sina.com.cn/s/blog_484dbdec01015qb4.html
    这个我已经试过,也不行,会不会是驱动配置不对?
      

  15.   

    那该如何修改呢?改成URL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test"; 这样返回null,还是有其他改法呢?
      

  16.   

    哪用动态的要怎么改呢?
    这个我习惯将他写到方法里去
    你是连接SQLserver2000?   你用了连接SQLserver2008的包?   我没用过 2000  但我知道 2005和2008所用的jar包都不一样。我同学把他的2008的驱动包配置在我的2000上,后来我把lib里的驱动换成了2000的,不过还是返回null
    我好久都没用SQLserver老,我建议你完全可以去百度一下,上面的代码只需要你改动下数据库名。我拷过来也没啥意思得。如何搜索,搜索什么内容呢?
    http://blog.sina.com.cn/s/blog_484dbdec01015qb4.html具体异常如下
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
    at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at page1.DBUtil.main(DBUtil.java:14)
    是不是需要什么sp4补丁或是配置不正确?
      

  17.   

    哪用动态的要怎么改呢?
    这个我习惯将他写到方法里去
    你是连接SQLserver2000?   你用了连接SQLserver2008的包?   我没用过 2000  但我知道 2005和2008所用的jar包都不一样。我同学把他的2008的驱动包配置在我的2000上,后来我把lib里的驱动换成了2000的,不过还是返回null
    我好久都没用SQLserver老,我建议你完全可以去百度一下,上面的代码只需要你改动下数据库名。我拷过来也没啥意思得。如何搜索,搜索什么内容呢?
    http://blog.sina.com.cn/s/blog_484dbdec01015qb4.html具体异常如下
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
    at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at page1.DBUtil.main(DBUtil.java:14)
    是不是需要什么sp4补丁或是配置不正确?http://mylovejsj.blog.163.com/blog/static/38673975200852312652403/
      

  18.   

    无语了,现在60多兆的sp4补丁也打了,端口也加了1433,也查看了数据库1433端口,防火墙也关了,但还是Error establishing socket  ,
      

  19.   

    有这么复杂嘛。可能是哪一步有错,现在已经发现不了,我现在安装一个sqlsever2008试一下
      

  20.   

    url ="jdbc:sqlserver://localhost:1433;databaseName=数据库名";导入2000的jar包,System.out.println(DBUtil.getConnection());是可以的。
      

  21.   

    sql sever 2000要打补丁,才能打开1433端口,另外,你的jdbc驱动有问题吧
      

  22.   

    同意二楼的看法,我开了环境帮你跑了这段程序,只需要将
    url =  "jdbc:sqlserver://127.0.0.1:1433/test";
    改成
    url =  "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
    就能正常运行了,当然,如果你环境配置的对的话。亲测如果还是你说得那样返回null,就看下jar包或者sp4,sp3