BlogJava 聯(lián)系 聚合 管理  

          Blog Stats

          隨筆檔案

          exams


          java世界

          世界Java

          數(shù)據(jù)庫操作現(xiàn)在是項(xiàng)目開發(fā)的根本,學(xué)習(xí)Java首先應(yīng)該學(xué)會(huì)怎么樣連接數(shù)據(jù)庫,用Java連接數(shù)據(jù)庫可不像用Delphi這類工具那樣設(shè)幾個(gè)屬性就OK,說簡單也簡單,說復(fù)雜,其實(shí)也挺復(fù)雜的,而且很麻煩,如果是初學(xué),根本不能保證第一次就連接成功,下面以SQL Server 2000為例,說說Java連接數(shù)據(jù)庫的基本方法,也記錄一下心得。


          1、下載SQL Server 2000 driver for JDBC
                 SQL Server 2000 Driver For JDBC Downloads
                
          該驅(qū)動(dòng)截止目前有四個(gè)版本,建議下載最新的SP3版。

                
          該驅(qū)動(dòng)安裝成功后,請將安裝目錄下的lib目錄下的三個(gè).jar文件加到CLASSPATH中;如果你使用的是JBuilderEclipse,將這三個(gè)文件根據(jù)IDE的提示加到工程中也可。


          2、升級你的SQL Server 2000,為其打上最新的補(bǔ)丁。
                
          這一步可能不是必需的,因操作系統(tǒng)環(huán)境而定,在不打補(bǔ)丁的情況,有時(shí)可以正常連接,有時(shí)卻不能,所以建議還是安裝最新的SQL Server 2000補(bǔ)丁(SP4)和JDBC驅(qū)動(dòng)(SP3)。
                
          如果你的程序在運(yùn)行時(shí)提示:Error establishing socket,一般情況下,打上SQL Server 2000的補(bǔ)丁就可解決 190-534 1T6-530 。

          3、驅(qū)動(dòng)的加載方法
               
          在建立連接之前,要先加載SQL Server 2000 JDBC的驅(qū)動(dòng),代碼形式如下:
                Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
               
          在此注意,forName方法的參數(shù)字符串必須完全相同于以上內(nèi)容,大小寫是區(qū)分的,其實(shí)這個(gè)串就是驅(qū)動(dòng)類的完整名稱:包名+類名。


          4、獲得一個(gè)連接
               
          在操作數(shù)據(jù)庫之前,要先獲得與數(shù)據(jù)庫的一個(gè)連接,使用如下代碼格式:
                DriverManager.getConnection(
          連接字符串, 登錄用戶名, 登錄密碼);
               
          例:

                DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
               
          在此處關(guān)鍵的是連接字符串的內(nèi)容,localhost部分即服務(wù)器的名字,可以更改;1433部分為SQL Server使用的端口號,根據(jù)實(shí)際情況修改即可;DatabaseName即為要連接的數(shù)據(jù)庫的名字,在此注意DatabaseName之前的是分號,而不是冒號。


          5、代碼實(shí)例


          // 導(dǎo)入Java SQL包,連接數(shù)據(jù)庫必需;
          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、可能出現(xiàn)的問題
               
          如果以上的代碼運(yùn)行后,輸出"Connection Successful!",那就代表一切正常,連接數(shù)據(jù)庫成功,你可以進(jìn)行Statement、ResultSet的操作了;反之的話,一定是出現(xiàn)了相應(yīng)的異常。
               
          如果提示錯(cuò)誤"Error establishing socket",請根據(jù)之前的說明安裝相應(yīng)的SQL Server 2000補(bǔ)丁即可。
               
          如果提示"ClassNotFoundException",那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 該段代碼拼寫有誤,或者是SQL Server 2000 Driver For JDBC Lib目錄下的三個(gè).jar文件未加入到CLASSPATH中。

          posted on 2007-10-07 11:23 java2java 閱讀(1358) 評論(1)  編輯  收藏

          評論

          # re: java和sql server 2000的連接 2007-10-09 09:49 jub
          fdsafa  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 汤阴县| 日土县| 玉树县| 淳化县| 调兵山市| 苗栗县| 神农架林区| 深州市| 凤城市| 奉新县| 濉溪县| 清原| 盐源县| 普宁市| 苏尼特右旗| 鄂托克旗| 镇沅| 贺兰县| 凌云县| 襄垣县| 阳东县| 丰原市| 荥阳市| 凤冈县| 辽源市| 漯河市| 新巴尔虎右旗| 石屏县| 永清县| 分宜县| 陇南市| 玉龙| 徐水县| 西盟| 鲜城| 大埔区| 广元市| 陆河县| 大丰市| 东光县| 苍溪县|