我是看了一篇 Java连接SQL Server 2000     选择自 netrobo 的 Blog 
的文章。开始自己尝试着做一下的。
首先请大家帮忙看一下我下载的SQL Server 2000有没有问题。。
http://www.microsoft.com/downloads/details.aspx?FamilyID=07287b11-0502-461a-b138-2aa54bfdc03a&DisplayLang=en我看到有朋友的贴子上说加上SP3的补丁要180M+。怎么我的几M呢?有没有办法手动操作呢,我说的时候。如果直接输入SQL查询语言来查找数据呢?
谢谢啦~~~~~~~~

解决方案 »

  1.   

    这里是原文:
    -------------------------------------------------------------------------------------------------
    标题   Java连接SQL Server 2000     选择自 netrobo 的 Blog  
    关键字   Java连接SQL Server 2000 
    出处    
     
     数据库操作现在是项目开发的根本,学习Java首先应该学会怎么样连接数据库,用Java连接数据库可不像用Delphi这类工具那样设几个属性就OK,说简单也简单,说复杂,其实也挺复杂的,而且很麻烦,如果是初学,根本不能保证第一次就连接成功,下面以SQL Server 2000为例,说说Java连接数据库的基本方法,也记录一下心得。1、下载SQL Server 2000 driver for JDBC
           SQL Server 2000 Driver For JDBC Downloads
           该驱动截止目前有四个版本,建议下载最新的SP3版。
           该驱动安装成功后,请将安装目录下的lib目录下的三个.jar文件加到CLASSPATH中;如果你使用的是JBuilder或Eclipse,将这三个文件根据IDE的提示加到工程中也可。2、升级你的SQL Server 2000,为其打上最新的补丁。
           这一步可能不是必需的,因操作系统环境而定,在不打补丁的情况,有时可以正常连接,有时却不能,所以建议还是安装最新的SQL Server 2000补丁(SP4)和JDBC驱动(SP3)。
           如果你的程序在运行时提示:Error establishing socket,一般情况下,打上SQL Server 2000的补丁就可解决。3、驱动的加载方法
          在建立连接之前,要先加载SQL Server 2000 JDBC的驱动,代码形式如下:
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
          在此注意,forName方法的参数字符串必须完全相同于以上内容,大小写是区分的,其实这个串就是驱动类的完整名称:包名+类名。4、获得一个连接
          在操作数据库之前,要先获得与数据库的一个连接,使用如下代码格式:
          DriverManager.getConnection(连接字符串, 登录用户名, 登录密码);
          例:
          DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
          在此处关键的是连接字符串的内容,localhost部分即服务器的名字,可以更改;1433部分为SQL Server使用的端口号,根据实际情况修改即可;DatabaseName即为要连接的数据库的名字,在此注意DatabaseName之前的是分号,而不是冒号。 5、代码实例// 导入Java SQL包,连接数据库必需;
    import java.sql.*;public class TestDB {
       public static void main(String[] args) {
           String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
           String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs";
           String userName = "sa";
           String userPwd = "";
           Connection dbConn;       try {
               Class.forName(driverName);
               dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
               System.out.println("Connection Successful!");
           }
           catch (Exception e) {
               e.printStackTrace();
           }
       }
    }6、可能出现的问题
          如果以上的代码运行后,输出"Connection Successful!",那就代表一切正常,连接数据库成功,你可以进行Statement、ResultSet的操作了;反之的话,一定是出现了相应的异常。
          如果提示错误"Error establishing socket",请根据之前的说明安装相应的SQL Server 2000补丁即可。
          如果提示"ClassNotFoundException",那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 该段代码拼写有误,或者是SQL Server 2000 Driver For JDBC Lib目录下的三个.jar文件未加入到CLASSPATH中。------------------------------------------------------------------------------------------------------------3、驱动的加载方法
          在建立连接之前,要先加载SQL Server 2000 JDBC的驱动,代码形式如下:
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
          在此注意,forName方法的参数字符串必须完全相同于以上内容,大小写是区分的,其实这个串就是驱动类的完整名称:包名+类名。这个加载到底应该怎么做呢?是不是如果我直接用它给出的程序就不用加载了呢?我的SQL sever安装在了(默认路径)C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC希望高手们指点。第一次做。。越详细越好:) 谢谢
      

  2.   

    呵呵,感谢楼上的,这么详细。
       随便问下,是不是2000系统跟XP系统在连接的时候好像会有所不同啊,我记得我在2000系统上连接的时候没什么问题到了XP系统就出了问题,是不是2000系统上是不要数据库(SERVER2000)补丁的啊。
      

  3.   

    不知道要什么补丁呢?SQL Server 2000 Driver for JDBC Service Pack 3这个是我下载的版本。还需要什么补丁呢?说一下名字吧:)
      

  4.   

    win2000时不需要打sp3的 ,xp的话需要打sp3才行,我记得sp3安装包3X 兆
      

  5.   

    同样的问题我也遇到过,不过我装了一个SP4的补丁就可以了,大约80多M,上网能找到//务必要把sqlserver 升级到sp4import java.sql.*;
    class Test{//本程序在jdk1.4.2下调试通过.
        public static void main(String args[])
        {
            //String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";//Northwind是SQLServer里有的数据库,也可以改成自己建的数据库
           // String user ="sa";//这里替换成你自已的数据库用户名
           // String password = "as";//这里替换成你自已的数据库用户密码
            String sqlStr = "select CustomerID, CompanyName, ContactName from Customers";        try{    //这里的异常处理语句是必需的.否则不能通过编译!    
               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");    
                System.out.println("类实例化成功!" );
                String  url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";    
                //mydb为数据库    
                String  user="sa";    
                String  password="as";             Connection con = DriverManager.getConnection(url,user,password);
                System.out.println("创建连接对像成功!" );            Statement st = con.createStatement();
                System.out.println( "创建Statement成功!" );            ResultSet rs = st.executeQuery( sqlStr );
                System.out.println( "操作数据表成功!" );
                System.out.println( "----------------!" );            while(rs.next())
                {
                    System.out.print(rs.getString("CustomerID") + "    ");
                    System.out.print(rs.getString("CompanyName") + "    ");
                    System.out.println(rs.getString("ContactName"));
                }
                rs.close();
                st.close();
                con.close();
            }
            catch(Exception err)
            {            err.printStackTrace(System.out);
            }
        }
    }
    看一下吧
     
      

  6.   

    我觉得打上SP4补丁一般都能连上如果你是XP系统,接下来就是那些语句String url String user String password   String sqlStr
      

  7.   

    主要还是XP上要打补丁的问题,不打1433的可能是关的,你在开始里可以开SQL但COM下PING不到1433
      

  8.   

    这个样子地,对于2000系统,sql不打补丁也成.对于xp系统,sp1的xp不打补丁也成,但是sp2的xp必须打补丁才行