Ubuntu系統下JDBC連線SQL server2017
(一)在Ubuntu上安裝JDBC驅動
下載之後,我們會看到這樣的一個壓縮檔案:
(2)開啟命令列,按“Ctrl+Alt+T”撥出終端,敲入解壓命令,找到我們下載檔案的位置 /home/hadoop/下載,將我們的.tar.gz檔案進行解壓,
命令:sudo tar zxvf ./home/hadoop/下載/sqljdbc_6.2.2.0_chs.tar.gz
(3)解壓之後開啟資料夾,我們會發現一個名字為:mssql-jdbc-6.2.2.jre8.jar(還有一個名字為jre7,由於樓主的jdk版本為1.8,所以沒有貼jre7的圖,大家根據自己的jdk來)
(4)將這個jar包匯入你的jdk安裝路徑下的lib資料夾中,並且在你的CLASSPATH,加入
CLASSPATH=./usr/lib/jvm/jdk1.8.0_151/lib/mssql-jdbc-6.2.2.jre8.jar
注意: 由於樓主在安裝JDK的時候,已經在.bashrc檔案中,將CLASSPATH設定為了JDK下的lib包,所以這一步操作,樓主就沒有做(前提是!!!你要將這個mssql-jdbc-6.2.2.jre8.jar移動到JDK下的lib資料夾中)
那麼到這裡,我們JDBC就已經安裝好了,下面我們將測試在Eclipse中,能否通過JDBC呼叫我們的資料庫
(二)通過SQL server tools 操作資料庫
(1)為了便於測試,我通過SQL server工具在資料庫中,新建了一個名字為 sample的資料庫。CREATE DATABASE sample
GO
(2)在sample資料庫中,加入了一個名稱為Inventory的表單,新建了3列,第一列為id,資料型別為INT,第二列為name............,
並向表單中,加入4行資料
USE sample
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
INSERT INTO Inventory VALUES (1, 'kabu', 18);
INSERT INTO Inventory VALUES (2, 'qinuo', 17);
INSERT INTO Inventory VALUES (3, 'Mickey', 20);
INSERT INTO Inventory VALUES (4, 'Mini', 19);
GO
(三)通過Eclipse工具操作資料庫
下面貼出自己的測試程式碼,樓主測試了以下3個基礎功能: (1)JDBC驅動是否按照成功 (2)是否能通過JDBC開啟資料庫 (3)在資料庫中查詢quantity=18的資訊 在當前java project下,右鍵點選,Build Path,Configure Build Path,將我們的mssql-jdbc-6.2.2.jre8.jar匯入進來。測試程式碼如下:
package test;
import java.sql.*;
//import com.microsoft.sqlserver.jdbc.*;
public class Test1 {
public static void main(String[] srg) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //載入JDBC驅動
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample"; //連線伺服器和資料庫sample
String userName = "SA"; //預設使用者名稱
String password = "XXXXXXXX"; //密碼
Connection connection=null;
Statement statement= null;
ResultSet resultSet = null;
try {
Class.forName(driverName);
connection = DriverManager.getConnection(dbURL, userName, password);
String selectSql = "SELECT * FROM Inventory WHERE quantity =18;"; // 鍵入SQL server的查詢命令:查詢quantity=18
statement = connection.createStatement();
resultSet = statement.executeQuery(selectSql);
// Print results from select statement
while (resultSet.next())
{
System.out.println(
resultSet.getString(1)+ " " //列印 quantiy=18的第一列的值
+ resultSet.getString(2) + " "
+ resultSet.getString(3));
}
System.out.println("Connection Successful!"); //如果連線成功 控制檯輸出Connection Successful!
} catch (Exception e) {
e.printStackTrace();
}finally {
if (connection != null) try { connection.close(); } catch(Exception e) {}
}
}
}
到這裡,我們就成功的在Ubuntu系統下,通過JDBC操作我們的SQL server啦,恭喜你!