jdk 1.8 配置與sql server 2008 連線 ( win10 64位)
阿新 • • 發佈:2019-02-20
前提條件:已經有JDK1.8和ecplise 以及sql server 2008(沒有的兄弟們請先出門右轉搞好這三個再回來看)
說明:
1. jdk1.8中JDBC砍掉了JDBC-ODBC,想用這種JDBC的兄弟下個版本低一點的JDK(1.6就不錯)就行了。
2. 所以這篇文章只是用來配置純JDBC的,同時說明一下JDBC需要的jre包是sqljdbc,預設是是沒有的,需要匯入
3. 請關掉你的微軟自帶的防火牆(或者允許sqlserver連線)
包裡面有3個檔案一個資料夾:三個檔案分別是協議說明,win下sqljdbc的壓縮包,linux下的jdbc的壓縮包,資料夾是win下sqljdbc的展開。
2.進入下載後的sqljdbc中唯一內個目錄(名字超級長的內個),一直點進去,看到jre8資料夾,裡面放的就似乎我們需要的sqljdbc42.jar包了
3.將sqljdbc42.jar放入你的jre目錄下(也可以不用做,不過最好還是放在一起)
4.匯入ecplise:
- 開啟ecplise,右鍵點選你的專案
- Build Path -> Configure Build Path
- 進入Libraries -> Add External JARS…
- 匯入你的sqljdbc42.jar
最後的成品:
jdk方面配置完成
開始配置sql server
5.開啟 sql server的配置管理器(去執行選單裡面的sqlserver目錄下找一找)
6. (第一個坑) ,遠端過程呼叫失敗
檢查你機器的所有軟體列表,發現有sql server2012(也有可能有2016),將這個解除安裝,然後重新整理一下就ok了
7. 配置sql server tcp/ip
8.重啟sql server (千萬別忘了)
右鍵這個,然後重啟
9.程式碼:
/*
* JDBC方式操作資料庫
* 1.引包
*
*/
package com.test2;
import java.sql.*;
public class test3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//PreparedStatement
//定義需要的物件
PreparedStatement ps = null;
Connection ct = null;
ResultSet rs = null;
try{
//初始化各個物件
//1.載入驅動
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2.得到連線
//注意JDBC-ODBC的原資料庫的配置就沒有用了
ct = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=spdb1","sa","sa");
System.out.println("資料庫連線成功");
//3.建立ps
ps = ct.prepareStatement("select * from emp");
//4.執行[如果是增加刪除修改:executeUpdate(),如果是查詢:executeQuery()]
rs = ps.executeQuery();
//rs指向第一條記錄的前一條
//迴圈取出,僱員的名字,僱員的薪水,部門的編號
while(rs.next())
{
String name = rs.getString(2);
float sal = rs.getFloat(6);
int deptno = rs.getInt(8);
System.out.println(name+" "+sal+" "+deptno);
}
}catch(Exception e){
e.printStackTrace();
}finally{
}
}
}
輸出: