java连接SqlServer2000
數(shù)據(jù)庫(kù)操作現(xiàn)在是項(xiàng)目開(kāi)發(fā)的根本,學(xué)習(xí)Java首先應(yīng)該學(xué)會(huì)怎么樣連接數(shù)據(jù)庫(kù),用Java連接數(shù)據(jù)庫(kù)可不像用Delphi這類工具那樣設(shè)幾個(gè)屬性就OK,說(shuō)簡(jiǎn)單也簡(jiǎn)單,說(shuō)復(fù)雜,其實(shí)也挺復(fù)雜的,而且很麻煩,如果是初學(xué),根本不能保證第一次就連接成功,下面以SQL Server 2000為例,說(shuō)說(shuō)Java連接數(shù)據(jù)庫(kù)的基本方法,也記錄一下心得。
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ù)庫(kù)之前,要先獲得與數(shù)據(jù)庫(kù)的一個(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ù)庫(kù)的名字,在此注意DatabaseName之前的是分號(hào),而不是冒號(hào)。
5、代碼實(shí)例
//導(dǎo)入Java?SQL包,連接數(shù)據(jù)庫(kù)必需;?importjava.sql.*;?
publicclassTestDB?{?
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)的問(wèn)題
如果以上的代碼運(yùn)行后,輸出"Connection Successful!",那就代表一切正常,連接數(shù)據(jù)庫(kù)成功,你可以進(jìn)行Statement、ResultSet的操作了;反之的話,一定是出現(xiàn)了相應(yīng)的異常。
如果提示錯(cuò)誤"Error establishing socket",請(qǐng)根據(jù)之前的說(shuō)明安裝相應(yīng)的SQL Server 2000補(bǔ)丁即可。
如果提示"ClassNotFoundException",那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 該段代碼拼寫有誤,或者是SQL Server 2000 Driver For JDBC Lib目錄下的三個(gè).jar文件未加入到CLASSPATH中。
總結(jié)
以上是生活随笔為你收集整理的java连接SqlServer2000的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android开发CompoundBut
- 下一篇: 协议知识点(2)- flash测试rtm