Tags:

Cách sử dụng JDBC kết nối đến SQL Server database

Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu cách sử dụng JDBC kết nối đến SQL Server database. Ở đây mình giả định máy tính các bạn đã cài đặt sẵn SQL Server.

Download JDBC driver cho SQL Server

Để triển khai một ứng dụng Java sử dụng JDBC để kết nối đến Microsoft SQL Server, chúng ta cần tải JDBC driver tương ứng cho SQL server và import nó vào project. Trong bài viết này mình sẽ sử dụng Microsoft JDBC driver 8.2 tương thích với phiên bản Java 8, 11 và 13. Các bạn có thể tham khảo phiên bản Microsoft JDBC driver 8.2 mới nhất tại đây.

Hoặc nếu bạn đang sử dụng project maven thì cần thêm mssql-jdbc dependency vào pom.xml

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.2.1.jre11</version>
</dependency>

JDBC kết nối SQL Server

Đối với JDBC, để kết nối đến một database bất kỳ chúng ta luôn cần có các thông tin cơ bản như URL, username, password, database name. Dưới đây là cú pháp cơ bản của chuỗi kết nối dùng để kết nối đến SQL server.

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

Trong đó:

  • serverName: host name hay IP address của máy chạy sql server. 
  • instanceName: tên instance để kết nối đến serverName.
  • portNumber: Port kết nối đến sql server, mặc định là 1433.
  • property=value: specify one or more additional connection properties. Các thuộc tính khác có thể xem chi tiết tại Setting the Connection Properties.

NOTE: SQL Server có 2 chế độ xác thực

  • Windows authentication: Sử dụng tài khoản người dùng hiện tại của windows để xác thực. Chế độ này dùng trong trường hợp SQL Server và ứng dụng quản lý ( SQL Server Management Studio) cài đặt trên cùng một máy. Chúng ta có thể sử dụng chế độ này bằng cách thêm thuộc tính integrationSecurity = true vào URL.
  • SQL Server authentication: Sử dụng tài khoảng SQL Server để xác thực. Với chế độ này chúng ta cần chỉ định username và password để xác thực.
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Main{

    public static void main(String[] args) {
        String dbURL = "jdbc:sqlserver://localhost\\sqlexpress";
        String user = "sa";
        String pass = "secret";
        try (Connection conn = DriverManager.getConnection(dbURL, user, pass)) {
            if (conn != null) {
                DatabaseMetaData dm = conn.getMetaData();
                System.out.println("Driver name: " + dm.getDriverName());
                System.out.println("Driver version: " + dm.getDriverVersion());
                System.out.println("Product name: " + dm.getDatabaseProductName());
                System.out.println("Product version: " + dm.getDatabaseProductVersion());
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}

Output

Driver name: Microsoft JDBC Driver 8.2 for SQL Server
Driver version: 8.2.0.0
Product name: Microsoft SQL Server
Product version: 15.00.2000
3 2 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x