jdbc用idea連接sqlserver數(shù)據(jù)庫的超實用教程
前言
最近java學完了jdbc,在連接數(shù)據(jù)庫這件事情上,也找了網(wǎng)上很多博主的文章,期間也遇到了不少問題,最終經(jīng)歷一番曲折解決了數(shù)據(jù)庫連接問題。我也理解新手在接觸jdbc時,尤其是在建立數(shù)據(jù)庫連接上非常令人頭疼。為此,博主花了晚上一個半小時,精心準備了這篇教程來解答。
一、數(shù)據(jù)庫準備
1.通過sqlserver配置管理器打開tcp/ip協(xié)議,設(shè)置狀態(tài)為已啟用
按照步驟:此電腦-->管理-->服務(wù)和應(yīng)用程序-->sqlserver配置管理器-->sqlserver網(wǎng)絡(luò)配置
-->選擇打開你本機sqlserver的實例的協(xié)議-->tcp/ip協(xié)議
注意:如果tcp/ip協(xié)議已被禁用則需要右鍵選中打開,將其設(shè)置為已啟用狀態(tài),否則會影響到后面的數(shù)據(jù)庫連接操作!啟用之后要重新啟動sqlserver服務(wù):打開sqlserver配置管理器里面的sqlserver服務(wù),右鍵sqlserveranalysisservices(黃色圖標)重新啟動,耐心等待即可完成剛才的配置。
雙擊ip地址-->ipall(下拉到最后)-->把tcp端口改為1433(1433為sqlserver數(shù)據(jù)庫的默認端口號,不同的數(shù)據(jù)庫有不同的默認端口號)
2.數(shù)據(jù)庫登錄模式設(shè)置為身份驗證登錄(如果已經(jīng)設(shè)置可忽略此步驟)
打開數(shù)據(jù)庫實例-->安全性-->登錄名-->右鍵sa-->屬性-->勾選sqlserver身份驗證并設(shè)置密碼
再打開狀態(tài),授予連接到數(shù)據(jù)庫引擎和啟用登錄名
(注:一般默認如此,但是不排除在安裝sqlserver數(shù)據(jù)庫時設(shè)置了拒絕和禁用因素,所以查看一下確保最后的連接能夠成功)
再右鍵數(shù)據(jù)庫實例打開服務(wù)器屬性,打開安全性,配置如下
下面重啟數(shù)據(jù)庫使得上述配置生效即可。
(關(guān)閉重開或者右鍵服務(wù)器點擊重新啟動數(shù)據(jù)庫服務(wù)即可)
3.下載sqlserver驅(qū)動jar包
已上傳百度網(wǎng)盤:
鏈接:https://pan.baidu.com/s/1tivlskrpyt1t2fkuf4roqw?pwd=quaw
提取碼: quaw
(注:里面有三個驅(qū)動包,讀者根據(jù)自己sqlserver版本選擇,本人目前用的是sqlserver2012)
二、idea準備
1.導入sqlserver驅(qū)動jar包
左上角files-->project structure-->libraries-->點擊 + 號-->選擇java-->選擇剛剛下載的sqlserver驅(qū)動包的路徑-->ok
2.編寫測試代碼,向sqlserver數(shù)據(jù)庫發(fā)動sql語句請求
以下測試代碼建立在數(shù)據(jù)庫中已經(jīng)建立了名為school的數(shù)據(jù)庫,并且在里面創(chuàng)建一張student表
測試代碼:
import java.sql.*; public class sql2 { public static void main(string args[]){ connection con; statement st; resultset rs; string dburl="jdbc:sqlserver://localhost:1433;databasename=school"; string username="sa"; string userpwd="123456"; string sql="select * from student"; try { con = drivermanager.getconnection(dburl, username, userpwd); st = con.createstatement(); rs = st.executequery(sql); while (rs.next()) { string sno = rs.getstring(1); string sname = rs.getstring(2); string ssex = rs.getstring(3); string sbir = rs.getstring(4); string sclass = rs.getstring(5); system.out.println("學號:" + sno + "\n姓名:" + sname + "\n性別:" + ssex + "\n出生日期:" + sbir + "\n班號:" + sclass); } rs.close(); st.close(); con.close(); }catch(sqlexception e){ e.printstacktrace(); system.out.println("數(shù)據(jù)庫連接失敗!!!"); } } }
運行結(jié)果:
能夠打印出從數(shù)據(jù)庫中查詢到的數(shù)據(jù),那么恭喜你,數(shù)據(jù)庫已經(jīng)連接成功啦!
三、連接報錯解決方案
請借鑒這位博主的文章,挺詳細的
2種解決方案
四、小結(jié)
作為程序員,自行解決問題的能力非常重要,即所謂的debug能力。網(wǎng)上很流行的一句話:“程序員工作三連:查bug,改bug,寫bug......”,當然這是調(diào)侃,但也很現(xiàn)實。
凡是遇到問題先不要慌,勇于探索解決它。就像這個數(shù)據(jù)庫連接問題,我一開始搞也遇到了很多問題,歷經(jīng)曲折終于解決了,并成功幫助兩個室友成功連接數(shù)據(jù)庫,十分鐘左右就搞定了。
關(guān)于jdbc用idea連接sqlserver數(shù)據(jù)庫的超實用教程的文章就介紹至此,更多相關(guān)jdbc用idea連接sqlserver內(nèi)容請搜索碩編程以前的文章,希望以后支持碩編程!