weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評(píng)論 - 101, 引用 - 0
          數(shù)據(jù)加載中……

          Java連接SQL Server 2000

          數(shù)據(jù)庫操作現(xiàn)在是項(xiàng)目開發(fā)的根本,學(xué)習(xí)Java首先應(yīng)該學(xué)會(huì)怎么樣連接數(shù)據(jù)庫,用Java連接數(shù)據(jù)庫可不像用Delphi這類工具那樣設(shè)幾個(gè)屬性就OK,說簡(jiǎn)單也簡(jiǎn)單,說復(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)安裝成功后,請(qǐng)將安裝目錄下的lib目錄下的三個(gè).jar文件加到CLASSPATH中;如果你使用的是JBuilder或Eclipse,將這三個(gè)文件根據(jù)IDE的提示加到工程中也可。

          2、升級(jí)你的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ǔ)丁就可解決。

          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使用的端口號(hào),根據(jù)實(shí)際情況修改即可;DatabaseName即為要連接的數(shù)據(jù)庫的名字,在此注意DatabaseName之前的是分號(hào),而不是冒號(hào)。

          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",請(qǐng)根據(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中。

          from: http://www.dvbbs.net/tech/program/2006042861296.asp

          posted on 2006-05-07 08:38 weidagang2046 閱讀(196) 評(píng)論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 宁都县| 油尖旺区| 海盐县| 汉阴县| 民丰县| 新宁县| 贡山| 政和县| 龙里县| 阿瓦提县| 隆回县| 通海县| 青神县| 西畴县| 修文县| 汝阳县| 上林县| 罗源县| 萝北县| 洛南县| 吴川市| 凤台县| 湟中县| 诸暨市| 江口县| 金坛市| 雷波县| 呼伦贝尔市| 含山县| 馆陶县| 营山县| 津南区| 惠安县| 余庆县| 洛隆县| 阿克苏市| 灵丘县| 遂昌县| 通河县| 涿鹿县| 神池县|