jdbc的連線問題-----java資料學習筆記之2

superdont發表於2007-05-12

from:  ......



資料庫操作現在是專案開發的根本,學習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中;如果你使用的是JBuilderEclipse,將這三個檔案根據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; //預設斷口為1433

DatabaseName=pubs";     //資料庫名為PUBS

String userName = "sa"; //SQL使用者名稱

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!",那就代表一切正常,連線資料庫成功,你可以進行StatementResultSet的操作了;反之的話,一定是出現了相應的異常。

如果提示錯誤"Error establishing socket",請根據之前的說明安裝相應的SQL Server 2000補丁即可。

如果提示"ClassNotFoundException",那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 該段程式碼拼寫有誤,或者是SQL Server 2000 Driver For JDBC Lib目錄下的三個.jar檔案未加入到CLASSPATH中。

 

相關文章