본문 바로가기
프로그래밍 공부(정리)/프로그램 설치, 연동

[JDBC] JAVA와 MSSQL 연동하기

by 프룹 2021. 12. 31.
반응형

# 필독

 

JDBC를 이용하여 JAVA와 MS-SQL을 연동하는 방법을 알려드리겠습니다.

설치를 하기 이전 당부의 말을 하나 드리자면, jdk의 버전과 ms-sql의 버전만 정확하기 아신다면! 설치를 못 할 이유가 없습니다.

부디 꼭! jdk, ms-sql을 버전을 맞춰주세요

 

이제! 버전을 확인하는 방법을 알려드리겠습니다.

 

1. cmd를 열어주세요

 

 

 

'java'를 먼저 침으로써 버전 확인 방법을 알 수 있습니다. 확실하지는 않은데 java 9는 version확인 명령어가 다른 경로 알고 있습니다.

제 기억이 맞다면 위와 같이 버전 확인 명령어가 다른 걸로 알고 있습니다.

 

# JDBC Download

 

다운 사이트

https://docs.microsoft.com/ko-kr/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017

다음 사이트로부터 JDBC를 다운받을 수 있습니다. (18.8.31 기준 jdbc 7.0이 최신 버전이나, 저는 6.4 버전으로 진행하겠습니다.)

 

1. 사이트에 접속하면 다음과 같이 여러 개의 버전이 존재합니다. 저는 6.4를 눌렀습니다.

 

 

2. 위 사이트에서 6.4 버전을 누르면 다음과 같은 화면이 나옵니다.

 

6.4 버전은 MS-SQL 2008 ~ 2017까지 지원하며, JDK 7 ~ 9 버전까지 지원합니다.

본인의 jdk, mssql의 버전을 확인하지 않고 다운하게 되면 연동이 안 되는 점 꼭 유의해 주시기 바랍니다.

 

3. 다운로드한 JDBC를 실행하면 다음과 같은 창이 뜨는데, 이 창으로부터 압출을 풀 수 있습니다.

이때 반드시 'Browse...' 버튼을 눌러 압출을 풀 폴더를 지정해 주시기 바랍니다. 그래야 찾기 쉽습니다!

 

 

 

3. 압축을 푼 폴더로 들어가면 다음과 같이 JAVA 버전별 jdbc-6.4.0-jreX.jar 파일이 있습니다.

 

* MS-SQL이 WINDOWS 인증인 경우만 다음 작업을 해주세요

 

4. 압축을 푼 jdbc 폴더에 다음 경로를 찾아가면 sqljdbc_auth.dll 파일이 있습니다.(x64, x86은 본인 환경에 맞는걸..)

이 dll을 C드라이브의 Windows / System32에 붙여 넣어 주세요

 

 

여기까지 기본적은 설치는 완료되었습니다.

 

# MS-SQL에서 JDBC 사용을 위한 세팅법

 

1. 설치한 MS-SQL 폴더에서 SQL Server 구성 관리자를 실행시켜줍니다.

 

 

 

 

두 개의 컴퓨터에서 설치했는데.. 하나는 저 'SQL Server 구성 관리자'가 없더군요.

* SQL Server를 실행하는 또 다른 방법

 

다음은 MS-SQL 버전에 따른 SQL Server 실행파일이 위치한 경로입니다.

다음의 경로로 찾아가시면 실제 파일이 다른 이름으로 존재하는 것을 확인할 수 있습니다.

 

 

 

2. 'SQL Server 구성 관리자'에서 설정할 사항들

 

- 1. 먼저 다음 탭에서 TCP/IP를 사용으로 바꿔 주십시오

 

- 2. 이후 다음 탭에서 SQL Server를 다시 시작해 주십시오.

 

 

- 3. 이후 다음 탭에서 TCP/IP 속성을 눌러 들어가 주십시오

 

 

TCP/IP 창에서 IP주소 탭 젤 하단으로 내리면 'TCP 동적 포트 : 9036 (번호는 다를 수 있음)'를 확인할 수 있습니다.

저는 사실 'TCP 포트'에 1433을 쓰면 사용할 수 있을 줄 알았으나... 아쉽게도 안되더군요.. 제 한계인가 봅니다.

 

 

 

이로써 MS-SQL에서의 세팅은 끝났습니다.

 

# JAVA에서 JDBC 사용을 위한 세팅법

 

1. 압축을 푼 JDBC폴더의 jar 파일을 다음과 같이 옮겨줍니다. 저는 단순히 lib를 관리하기 쉽도록 java폴더에 lib폴더를 만든 것일 뿐입니다. 잘 모르시겠다면, 그냥 똑같이 따라 해 주십시오.

 

 

 

 

2. 이제 JAVA Project를 생성해 보겠습니다.

 

 

 

보시면 연동에 성공해 다음과 같이 결과 값이 나온 걸 알 수 있습니다.

 

 

import java.sql.*;
import java.sql.SQLException;

public class jdbc {

    public static void main(String[] args) throws ClassNotFoundException {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String connectionUrl = "jdbc:sqlserver://localhost:10161;database=largeDB;integratedSecurity=true";
            Connection conn = DriverManager.getConnection(connectionUrl);
            Statement stmt = conn.createStatement();
            System.out.println("MS-SQL 서버 접속에 성공하였습니다.");
            ResultSet rs = stmt.executeQuery("SELECT * FROM instructor");
            while( rs.next() ) {
                   String field1 = rs.getString("name");
                   String field2 = rs.getString("dept_name");
                   System.out.print(field1 + "\t");
                   System.out.println(field2);
                  }
            rs.close();
            stmt.close();   
            conn.close();
        } catch (SQLException sqle) {
            System.out.println("SQLException : " + sqle);
        }
    }

}

 

코드

 

 

 

 

 

 

 

반응형

댓글