做實驗需要用Java與SQL Server連接,因為使用的 SQL 2008 Express Edition 是基於 Visual Studio2010 安裝包安裝時一起安裝的,所以為了方便數據庫的操作,首先下載了獨立的 SQL Server Management Studio 安裝包進行安裝 。安裝完畢后設置 SQL 癿登陸模式,因為 VS2010 自帶的 SQL Server 默認把 sa 賬戶禁用,這就意味着通過網絡 TCP/IP 連接方式就不可用,所以要先把 sa 賬戶啟用以方便以后的操作。
- step 1: 打開SSMS(SQL Server Management Studio),用windows身份連接數據庫,登錄后,右鍵選擇“屬性(properties)”。
- step 2: 左側選擇“安全性(Security)”,選中右側的“SQL Server 和 Windows 身份驗證模式(SQL server and windows Authentication mode)”以啟用混合登錄模式。
- step 3: 選擇“連接(Connections)”,勾選“允許遠程連接此服務器(Akkiw remote connections to this server)”,然后點“確定”。
- step 4: 展開對象資料管理器(當前的連接)中的“安全性(Security)”->“登錄名(Logins)”->“sa”,右鍵選擇“屬性”。
- step 5: 左側選擇“常規”,右側選擇“SQL Server 身份驗證”,並設置密碼。
- step 6: 選擇“狀態(Status)”,在"Login:處"選中“啟用(Enabled)”,點擊“確定”。
- step 7: 右擊數據庫選擇“方面(Facets)”。
- step 8: 將“RemoteAccessEnabled”屬性設為“True”,點“確定”(說明:這一項可能找不到,可以不用管他。)
- step 9: 至此SSMS已設置完畢,先退出,重新啟動數據庫,再用sa登錄,成功即表示sa帳戶已經啟用。
以前用自己的方法成功開啟過sa賬號,但這次不知什么原因無法成功開啟,於是,重新“新建登錄名”,建了一個新的賬號,其擁有的權限與sa賬號一樣即可使用。
這時sa賬號已經可以使用,還需要配置SSCM(SQL Server配置管理器)才能正常工作。
首先確保下面的服務都開啟:
配置 TCP/IP 的屬性"協議",具體操作看下圖:
填定下面的信息:
如圖所示填寫好IP地址,拉到頁面最下面,填寫端口。
接着配置客戶端協議:
接着配置TCP/IP:
重新啟動數據庫后就可以使用sa賬號進行遠程登錄操作了。
可以用下面的代碼測試一下能否正確連接上數據庫:
import java.sql.*;
public class Test {
public static void main(String[] srg) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加載JDBC驅動
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=Lib"; // 連接服務器和數據庫
String userName = "sa"; // 默認用戶名
String userPwd = "123456"; // 安裝 sql server 2008 時的密碼
@SuppressWarnings("unused")
Connection dbConn;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
} catch (Exception e) {
e.printStackTrace();
}
}
}