1.1433連接埠問題
在sp2下,防火牆預設的是關閉這個連接埠的。需要自己去開啟。控制台-防火牆-例外,分別填加TCP 1433連接埠UDP 1433連接埠
2、下載SQL Server 2000 driver for JDBC
SQL Server 2000 Driver For JDBC Downloads
該驅動截止目前有四個版本,建議下載最新的SP3版。
該驅動安裝成功後,請將安裝目錄下的lib目錄下的三個.jar檔案加到CLASSPATH中;如果你使用的是JBuilder或Eclipse,將這三個檔案根據IDE的提示加到工程中也可。
3、升級你的SQL Server 2000,為其打上最新的補丁。
是安裝最新的SQL Server 2000補丁(SP4)和JDBC驅動(SP3)。
如果你的程式在運行時提示:Error establishing socket,一般情況下,打上SQL Server 2000的補丁就可解決。
4、驅動的載入方法
在建立串連之前,要先載入SQL Server 2000 JDBC的驅動,代碼形式如下:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
5、獲得一個串連
在操作資料庫之前,要先獲得與資料庫的一個串連,使用如下代碼格式:
DriverManager.getConnection(連接字串, 登入使用者名稱, 登入密碼);
例:
DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
在此處關鍵的是連接字串的內容,localhost部分即伺服器的名字,可以更改;1433部分為SQL Server使用的連接埠號碼,根據實際情況修改即可;DatabaseName即為要串連的資料庫的名字,在此注意DatabaseName之前的是分號,而不是冒號。
6、代碼執行個體
// 匯入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中。
sqlserver 版本的查看方法
運行SQL SERVER服務管理員,在工作列小托盤處,按右鍵管理器表徵圖,選“關於”,在彈出的視窗中,對照下面的資訊便知。
8.00.194 -——————SQL Server 2000 RTM
8.00.384 -——————SQL Server 2000 (SP1)
8.00.534 -——————SQL Server 2000 (SP2)
8.00.760 -——————SQL Server 2000 (SP3)
8.00.2039 -——————SQL Server 2000 (SP4)