問題雜談:使用JDBC連接SQL Server數據庫

在剛剛接觸使用JDBC連接數據庫時,總會碰到很多問題,讓人無所適從。所以,筆者以SQL Server

爲例,詳細講解如何使用JDBC連接SQL Server。下載請點擊SQL Server 2017SQL Server 2016

Tomcat 9.0.1

在開始之前,請先正確安裝SQL Server和Tomcat。(筆者是以SQL Server 2017和Tomcat9.0.1進行演示)

準備:在正確安裝SQL server和Tomcat之後,打開cmd,運行指令“telnet 127.0.0.1 1433”,如果出現

“telnet不是內部指令或程序......”說明你沒有打開telnet服務,那麼請參考筆者另一篇博客“打開telnet服務問題”

如果正確打開telnet服務,但是運行上述telnet指令,出現“無法連接127.0.0.1,端口1433......”,則說明要對SQL

Server進行配置,接下來就是詳細的配置過程。

第一步:使用鍵盤快捷鍵“window+x”選擇“計算機管理”或者直接使用SQL Server配置管理器,如圖:


第二步:打開的窗口如下圖所示。在左邊欄找到 SQL Server網絡配置選項,點開它的小箭頭,會

看到“【你的數據庫名】的協議” ,選中它,看右邊欄。如圖:


第三步:如果Named Pipes 未啓用,則右鍵→啓用,右鍵單擊 TCP/IP,選擇 啓用,雙擊TCP/IP

(右鍵→屬性),在彈出的窗口中選擇 “IP地址” 選項卡,將IP1和IP10的【IP地址】設爲127.0.0.1,

並將所有【IPx】的【已啓用】設爲是。接着,拖動下拉條到最下方,將 IPAll 中的【TCP端口】設

 【1433】,其餘不變。如圖:



第四步:重新啓動計算機,接下來使用telnet命令“telnet 127.0.0.1 1433”測試1433端口是否打開。

第五步:環境變量CLASSPATH配置:下載JDBC,然後在D盤新建一個文件夾,命名爲sqljdbc4,將

sqljdbc42.jar複製一個進去。

第六步:右擊 我的電腦  屬性  高級系統設置(高級)  環境變量,在系統變量中雙擊

CLASSPATH變量(或選中CLASSPATH後  編輯),在最後面追加 “;D:\sqljdbc42\sqljdbc42.jar 

(注意最前面有個 ; )若不存在CLASSPATH,就新建CLASSPATH變量,並且將其值設

爲“D:\sqljdbc42\sqljdbc42.jar”。連續點擊 確定 以退出環境變量配置。


第七步:(非常重要)我們需要將sqljdbc4.jar類庫文件拷貝到D:\Java Tools\jdk1.7.0\jre\lib\ext目

錄下。(看你安裝在哪個盤,如果是C盤,則最前面的D改爲C,下同)。

我們需要將sqljdbc42.jar類庫文件拷貝到D:\Program Files\Java\jre7\lib\ext目錄下最好是,只要

是jre文件夾,都複製一個sqljdbc42.jar到jre7\lib\ext裏去!!

如果是使用Tomcat做服務器(我使用的是Tomcat7),那麼我們需要將sqljdbc42.jar類庫文件

拷貝到D:\Tomcat_9.0.1\lib目錄下。

第八步:打開SQL Server 2017,在其中新建數據庫 Test,然後退出SQL Server2017

運行Eclipse,新建一個JavaProject 名爲 Test右單擊src,依次選擇 Build Path  Configure Build Path,在

打開的窗口的右邊選擇 Libraries標籤,然後單擊 Add External JARs,找到 sqljdbc42.jar 文件並打

開,然後單擊 OK 完成構建路徑的配置。如圖:


最後:輸入代碼測試

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("連接失敗");
  }    
 }
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章