小閣飛空 一池碧映垂楊路 絳云深處 聽盡瀟瀟雨
          At times , people will simply not come through for you in the way you need.Forgive them and move on.
          posts - 212,comments - 87,trackbacks - 0

          前提:
               1.sql server 2000 任意版本    //本人用的是個人版
                2.sql server 2000 sp3升級包
                    你可以在這里下載
          http://www.bossed.com.cn/download/detailcp.asp?id=74
                3.sql server 2000 jdbc 驅動  //這個就需要自己找了!
                4.jdk1.4                      //以下的例子是該版本
          在以上條件滿足的情況下,作以下事情
                1.建立新數據庫名為:TESTDB ,并在其中建立一個名為test_student的表
                    包括以下幾列(Sno,Sname,Sage,Ssex,Sclass)  
                2.開始編寫你自己的連接數據庫的類(我這里是借鑒他人的版權不歸我所有),你也可以用自己的方法 
          class Testj{
              public static void main(String args[])
              {  
                  String RL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TESTDB";
                  String user ="king";//這里替換成你自已的數據庫用戶名
                  String password = "sql";//這里替換成你自已的數據庫用戶密碼
                  String sqlStr = "select * from test_student";

                  try{    //這里的異常處理語句是必需的.否則不能通過編譯!    
                      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
                      System.out.println( "類實例化成功!" );
                      System.out.println("slkdjf");
                      Connection con = DriverManager.getConnection(RL,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.getInt("Sno") + "    ");
                          System.out.print(rs.getString("Sname") + "    ");
                          System.out.print(rs.getInt("Sage") + "    ");
                          System.out.print(rs.getString("Ssex") + "    ");
                          System.out.println(rs.getString("Sclass"));
                      }
                      rs.close();
                      st.close();
                      con.close();
                  }
                  catch(Exception err){
                      err.printStackTrace(System.out);
                  }
              }
          }
          下面進行調試:
            javac Testj.java
            java Testj
            如果正確輸出應該是:
            類實例化成功!
          slkdjf
          創建連接對像成功!
          創建Statement成功!
          操作數據表成功!
          ----------------!
          2000    小剛               21    男    12        
          2001    小黃               22    女    12        
          2002    李娜               20    女    11        
          2003    王芳               19    女    null
          2004    黃明               22    男    11        
          2005    梅蘭               21    女    12        
          2006    李玉               22    女    15        
          2007    李平               32    女    12        

          注意:這里有幾點要說明
          1.路徑問題:
            你必須配置你的classpath路徑否則他在編譯時會抱錯
            java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
                  at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
                  at java.security.AccessController.doPrivileged(Native Method)
                  at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
                  at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
                  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
                  at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
                  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
                  at java.lang.Class.forName0(Native Method)
                  at java.lang.Class.forName(Class.java:141)
                  at Test.main(Test.java:11) 
          你的路徑應該是這樣配置:你可以在在安裝jdbc驅動后看那里的幫助文檔(是英文的);
          //這里指在xp系統下
           classpath = ,;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
                        C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
                        C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;
            可千萬不要寫錯喲!
           2.sp3補丁包問題:
              如果你在編譯時出現下列問題 那么你需要下載并安裝sp3補丁包
             java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
          hing 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 Test.main(Test.java:14) 
          3.權限問題    
             如果你出現類似這樣的問題
             類實例化成功!
          slkdjf
          java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用戶 'king' 登錄失敗。
          原因: 未與信任 SQL Server 連接相關聯。
              at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
              at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
              at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
              at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
              at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Unknown Source)
              at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(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(DriverManager.java:512)
              at java.sql.DriverManager.getConnection(DriverManager.java:171)
              at Testj.main(Testj.java:14)
              
          原困是未設置SQL SERVER登錄認證模式為混合認證模式,因為SQL SERVER默認安裝后認證模式為WINDOWS認證模式,從而導致出錯。
          解決方法:啟動SQLSERVER企業管理器,選擇要進行認證模式設置的服務器。右擊該服務器,在彈出菜單中選擇屬性,SQL SERVER將
          彈出屬性對話框在屬性對話框中選擇安全性選項,在身份驗證處選擇“SQL Server和Windows”,然后確定。

          posted on 2005-11-14 20:45 瀟瀟雨 閱讀(414) 評論(0)  編輯  收藏 所屬分類: JAVADatabase
          主站蜘蛛池模板: 屏东市| 西和县| 沿河| 灵丘县| 梁平县| 永昌县| 祁东县| 广丰县| 金乡县| 塔河县| 长沙县| 哈尔滨市| 扎囊县| 乌兰浩特市| 黄大仙区| 彰化县| 华安县| 自贡市| 周至县| 洛阳市| 静乐县| 东阿县| 永平县| 巴楚县| 曲松县| 南投县| 绥宁县| 车险| 莱芜市| 水富县| 广元市| 深州市| 惠东县| 将乐县| 临安市| 城市| 汶上县| 德阳市| 区。| 大庆市| 新源县|