java通過JDBC鏈接SQLServer2012 (含1433端口打通)


首先,在連接數據庫之前必須保證SQL Server 2012是采用SQL Server身份驗證方式而不是windows身份驗證方式。如果在安裝時選用了后者,則重新設置如下:

http://blog.163.com/jackie_howe/blog/static/19949134720122261121214/

 

當你保證SQL Server 2012是采用SQL Server身份驗證方式后,開始如下配置:

一、因為SQL Server 2012裝好后,默認協議是沒有開啟的,所以要打開SQL Server配置管理器中開啟:

1、安裝好SQL Server 2012后,運行 開始 → 所有程序 → Microsoft SQL Server 2012 → 配置工具 →SQL Server配置管理器,如下圖1所示:


圖1

2、打開的窗口如下圖所示。在左邊欄找到 SQL Server網絡配置選項,點開它的小箭頭,會看到“【你的數據庫名】的協議” (圖中是ERIC2012的協議),選中它,看右邊欄。如下圖2所示:

圖2

(1)如果Named Pipes 未啟用,則右鍵→啟用

(2)右鍵單擊 TCP/IP,選擇 啟用

(3)雙擊TCP/IP(右鍵→屬性),在彈出的窗口中選擇 “IP地址” 選項卡,將IP1和IP10的【IP地址】設為127.0.0.1,並將所有【IPx】的【已啟用】設為是。接着,拖動下拉條到最下方,將 IPAll 中的【TCP端口】設成 【1433】,其余不變。如下圖3和圖4所示:

圖3

圖4

3、重新啟動計算機。

4、接下來使用telnet命令測試1433端口是否打開。首先要保證telnet服務開啟。開啟win7 telnet的方法在這里:

http://blog.163.com/jackie_howe/blog/static/199491347201251723939691/

 

5、完成上一步后。開始菜單 → 運行cmd → 輸入:telnet 127.0.0.1 1433,(注意telnet與127之間有空格,1與1433之間有空格)。如下圖:

圖5

6、若提示“不能打開到主機的連接,在端口 1433: 連接失敗”,則說明1433端口沒有打開,需要重新進行以上配置。若連接成功,顯示如圖6所示:

圖6

 

二、環境變量CLASSPATH配置:

1、下載Microsoft JDBC Driver 4.0 for SQL Server

在這里下載:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774

4.0版本支持的 SQL Server有:

Microsoft®SQL Server® 2012

Microsoft®SQL Server® 2008 R2

Microsoft®SQL Server® 2008

Microsoft®SQL Server® 2005

Microsoft®SQL Azure

 

下載sqljdbc_4.0.2206.100_chs.tar.gz(2.2M),解壓文件,得到sqljdbc.jar和sqljdbc4.jar。如果你使用的是jre1.7版本,則忽略sqljdbc.jar(因為它用不了,而且如果和sqljdbc4.jar一起用會出錯),只留下sqljdbc4.jar。

以下設置均針對jre1.7版本(1.7以下應該也適用):

在D盤新建一個文件夾,命名為sqljdbc4,將sqljdbc4.jar復制一個進去。

 

圖7

2、右擊 我的電腦 → 屬性 → 高級系統設置(高級) → 環境變量,在系統變量中雙擊CLASSPATH變量(或選中CLASSPATH后 → 編輯),在最后面追加 “;D:\sqljdbc4 \sqljdbc4.jar” (注意最前面有個 ; )若不存在CLASSPATH,就新建CLASSPATH變量,並且將其值設為“D:\sqljdbc4 \sqljdbc4.jar”。如圖8所示:

 

圖8

3、連續點擊 確定 以退出環境變量配置。

4、接下來的工作非常重要(因為沒做我糾結了幾天沒成功)!!

有幾個地方需要注意:

(1)我們需要將sqljdbc4.jar類庫文件拷貝到D:\Program Files\Java\jdk1.7.0\jre\lib\ext目錄下。(看你安裝在哪個盤,如果是C盤,則最前面的D改為C,下同)

 

(2)我們需要將sqljdbc4.jar類庫文件拷貝到D:\Program Files\Java\jre7\lib\ext目錄下

 

 最好是,只要是jre文件夾,都復制一個sqljdbc4.jar到jre7\lib\ext里去!!

 

(3)如果是使用Tomcat做服務器(我使用的是Tomcat7),那么我們需要將sqljdbc4.jar類庫文件拷貝到C:\apache-tomcat-7.0.11\lib目錄下。

 

(4)如果是使用Tomcat做服務器,那么我們需要將sqljdbc4.jar類庫文件拷貝到D:\apache-tomcat-7.0.11\webapps\gaofei\WEB-INF\lib目錄下(gaofei目錄是我的應用,這個路徑相信你會看明白)

 

注意,只有sqljdbc4.jar !!如果把sqljdbc.jar和sqljdbc4.jar都拷在一起的話,這樣就算你全都做對了,也會持續出現有“此驅動程序不支持JRE1.7,請使用支持JDBC4.0的sqljdbc4.jar的類庫”的問題。因為jdk默認地選擇了sqljdbc.jar(前面我已經提到,只留下sqljdbc4.jar)。

 

三、使用Eclipse測試連接SQL Server 2012數據庫:

1、打開SQL Server 2012,在其中新建數據庫 Test,然后退出SQL Server 2012。

2、運行Eclipse,新建一個Java Project 名為 Test。

3、右單擊src,依次選擇 Build Path → Configure Build Path,在打開的窗口的右邊選擇 Libraries標簽,然后單擊 Add External JARs,找到 sqljdbc4.jar 文件並打開,然后單擊 OK 完成構建路徑的配置。如圖9(我是漢化版的):

 

圖9

4、在Test中新建包pkg,在pkg中新建一個類Main,在其中輸入代碼如下:

packagepkg;

importjava.sql.*;

 

publicclass Main {

 publicstatic void main(String [] args)

 {

  StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";

  StringdbURL="jdbc:sqlserver://localhost:1433;DatabaseName=你的數據庫名";

  String userName="填寫你的用戶名,我的是sa";

  String userPwd="填寫你的密碼";

  try

  {

   Class.forName(driverName);

   ConnectiondbConn=DriverManager.getConnection(dbURL,userName,userPwd);

    System.out.println("連接數據庫成功");

  }

  catch(Exception e)

  {

   e.printStackTrace();

   System.out.print("連接失敗");

  }    

 }

}

 

溫馨提示:如果要對數據庫中的某個表進行操作,需要像這樣子做:String sql = "SELECT*  FROM [數據庫名].[dbo].[表名] where xxx "; 例如String sql = "SELECT*  FROM [metro].[dbo].[4] wherexxx" 。注意,中括號是必要的,不能去掉。

 

5、點擊右鍵,選擇run as——>Java Application, 控制台出現下圖則連接成功!

 

圖10


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM