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