1. 程式人生 > >配置Eclipse通過JDBC連線訪問SQL Server 2008 R2

配置Eclipse通過JDBC連線訪問SQL Server 2008 R2

配置連線大體分為三步:
一、SQL Server 2008 R2的配置
二、Microsoft JDBC Driver for SQL Server(JDBC驅動包)的下載與匯入
三、在Eclipse中寫程式碼測試是否連線成功

在連線資料庫之前必須保證SQL Server 2008 R2的驗證方式是SQL Server身份驗證,如是,則略過這段直接看Eclipse連線資料庫的具體步驟。

1、開啟Microsoft SQL Server Management Studio連線到伺服器,設定SQL Server 2008 R2的身份驗證方式為混合安全驗證。

2、設定sa的密碼並啟用sa登入名



設定好後點擊確定並重啟伺服器


3、驗證sa登陸

新建一個文字檔案,命名為"LoginSQL.UDL",雙擊開啟,點選"提供程式"選項卡,選擇SQL Server Native Client 10.0


點選"下一步"按鈕進入"連線"選項卡



Ecplise連線資料庫具體步驟如下:

一、SQL Server 2008 R2的配置

執行SQL Server Configuration Manager


右擊上圖的TCP/IP選擇"屬性"彈出TCP/IP屬性對話方塊,選擇"IP地址"選項卡,找到其中IP地址為"127.0.0.1"的一欄,設定其TCP埠為"1433",活動為"是",已啟用為"是"。並確認最下面的"IPAll"裡的TCP埠是"1433",完成後點選確定

  

完成後重啟資料庫,重啟完畢後測試1433埠是否開啟,快捷鍵Win+R彈出"執行"視窗,輸入"cmd"執行命令提示符。

輸入telnet 127.0.0.1 1433(注意空格)。若提示連線失敗,則說明1433埠沒有開啟,重新進行上面的配置。若連線成功,則顯示如下圖


若提示'telnet' 不是內部或外部命令,也不是可執行的程式或批處理檔案。則未開啟telnet服務,以下步驟將開啟telnet服務

開啟控制面板,選擇程式--啟動或關閉Windows功能,勾選上telnet伺服器和telnet客戶端,點選確定等待Windows完成安裝即可使用telnet服務


二、Microsoft JDBC Driver for SQL Server(JDBC驅動包)的下載與匯入

下載Microsoft JDBC Driver for SQL Server

https://www.microsoft.com/en-us/download/details.aspx?id=55539

解壓所下載的檔案,將其放到java安裝目錄的.../Java\jre1.8.0_101\lib\ext資料夾下


新建Java Project "Test",右擊專案,選擇Build Path--Add External Archives...新增sqljdbc_6.2裡的Jar包



三、在Eclipse中寫程式碼測試是否連線成功

先在Microsoft SQL Server Management Studio裡新建資料庫"Test"


然後在Eclipse裡上面新建的Test專案中新建類ConnectToSQL,程式碼如下:

import java.sql.*;
public class ConnectToSQL {
        public static void main(String[] args) {
// TODO Auto-generated method stub
String jdbcDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String connectDB="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Test";//宣告資料庫Test的URL
try
{
Class.forName(jdbcDriver);//載入資料庫驅動
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
System.out.println("載入資料庫引擎失敗");
System.exit(0);
}
System.out.println("資料庫驅動成功");
try
{
String user="sa";//資料庫使用者名稱
String password="輸入之前配置sa時所設定的密碼";//資料庫密碼
Connection connection=DriverManager.getConnection(connectDB,user,password);//建立資料庫連線,獲得連線物件
System.out.println("連線資料庫成功");
Statement statement=connection.createStatement();//建立一個Statement物件
System.out.println("開始建立表");
String query="CREATE TABLE Person(NAME CHAR(10),SEX NCHAR(2),AGE INT)";//生成一條SQL建表語句
statement.executeUpdate(query);//執行SQL建表語句
System.out.println("開始插入資料");
String a1="INSERT INTO Person VALUES('張三','男',18)";//生成一條SQL插入資料語句
String a2="INSERT INTO Person VALUES('李四','男',19)";//生成一條SQL插入資料語句
String a3="INSERT INTO Person VALUES('王五','男',20)";//生成一條SQL插入資料語句
statement.executeUpdate(a1);//執行SQL插入語句
statement.executeUpdate(a2);//執行SQL插入語句
statement.executeUpdate(a3);//執行SQL插入語句
System.out.println("插入資料成功");
System.out.println("開始讀取資料");
ResultSet resultset=statement.executeQuery("SELECT *FROM Person");
System.out.println("姓名\t性別\t年齡");
while(resultset.next())//遍歷結果集,輸出每一條記錄
{
System.out.println(resultset.getString("NAME")+"\t"+resultset.getString("SEX")+"\t"+resultset.getInt("AGE"));
}
System.out.println("讀取完畢");
statement.close();//關閉命令物件連線
connection.close();//關閉資料庫連線
}
catch(SQLException e)
{
e.printStackTrace();
System.out.println("資料庫連線錯誤");
System.exit(0);
}

}

}

程式碼執行結果如下


返回Microsoft SQL Server Management Studio新建查詢即可看到插入的資料,如下


此時已經完成Eclipse與SQL Server 2008 R2的連線