刚学连接数据库,连了一天都没连上,郁闷。winxp home sp2
sqlserver 2000 个人版的已打sp4补丁
Microsoft SQL Server 2005 JDBC Driver 1.1
jdk1.5下面是测试连接程序
import java.sql.*;public class DbTest
{
Connection con;
Statement sta;
ResultSet rs; 
String driver;
String url;
String user;
String pwd;

    public DbTest()
{
driver ="com.microsoft.sqlserver.jdbc.SQLServerDriver";
url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = testdb";//建的一个数据库,有一个Persons表
user = "testuser";//我自己在sqlserver设的用户和密码
pwd = "123";
init();

} public void init() {
try
{
Class.forName(driver);
System.out.println("driver is ok");
con = DriverManager.getConnection(url,user,pwd);
System.out.println("connection is ok");
sta = con.createStatement();
String temp ="select * from Persons";
rs = sta.executeQuery(temp);
while(rs.next())
System.out.println(rs.getString(1));

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

}

public static void main(String[] args)
{
DbTest db = new DbTest();
}
}用eclipse运行结果如下
driver is ok
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DbTest.init(DbTest.java:28)
at DbTest.<init>(DbTest.java:19)
at DbTest.main(DbTest.java:46)郁闷啊郁闷,哪位大侠拔刀相助啊谢了

解决方案 »

  1.   

    你的驱动用的SQL Server2005的?
      

  2.   

    2000sp4该用什么驱动?找不到哪里可以下载的啊顺便再问:如何查看sqlserver的端口1433是否已打开?
      

  3.   

    http://www.microsoft.com/downloads/details.aspx?familyid=6D483869-816A-44CB-9787-A866235EFC7C&displaylang=zh-cn微软的官方页面说是可以在2000上使用的啊
      

  4.   

    当然用2000的驱动啊!微软官网有下载的,如果懒得找,我可以给你发一份,一共就三个.jar文件
      

  5.   

    照个端口监听的工具看看就可以啦,到java网站上就能找到2000的jdbc驱动,但个jar包,放入classpath路径里就可以了!
      

  6.   

    http://www.microsoft.com/downloads/details.aspx?familyid=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&displaylang=en
    你到这里也可以下载2000的驱动
      

  7.   

    查看端口是否打开可以使用telnet命令。
    telnet ip 1433
    如果进入黑屏,那就是打开了。
      

  8.   

    "com.microsoft.jdbc.sqlserver.SQLServerDriver"
      

  9.   

    windows XP 系统下面 SQL的1433端口会出现异常。我也曾经遇到过同样的问题!!
    import java.sql.*;
    /**
     * <p>Title: </p>
     *
     * <p>Description: </p>
     *
     * <p>Copyright: Copyright (c) 2006</p>
     *
     * <p>Company: </p>
     *
     * @author not attributable
     * @version 1.0
     */
    public class SQLConnection {
        private static Connection conn;
        private static Statement stm;
        private static ResultSet rs;
        private static String URL="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
        private static String Name="sa";
        private static String Psw="713518";
        private static String sql;
        public SQLConnection() {    }
        public static ResultSet RsSelect(String sql){
            try {
               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
               conn=DriverManager.getConnection(URL,Name,Psw);
               stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
           } catch (Exception ex) {
               ex.printStackTrace();
           }
            try {
              rs = stm.executeQuery(sql);
            } catch (SQLException ex) {
                ex.printStackTrace();
                return null;
            }
            return rs;
        }
        public void RsClose(){
            try{
                conn.close();
                stm.close();
                rs.close();
            }
            catch(Exception e){
                e.printStackTrace();
            }
        }
    }
    你的代码没有问题!换个操作系统吧!
      

  10.   

    如果想方便的话用MySQL吧,通常没有这么多的问题。