ORACLE

java로 oracle DB 접속 테스트

필유아사 2025. 12. 4. 12:10

 

1. 전제 조건

  1. JDK (Java Development Kit) 설치: 자바 코드를 컴파일하고 실행할 환경이 필요합니다.
  2. Oracle JDBC 드라이버 (ojdbcX.jar): 해당 드라이버 파일을 다운로드하여 클래스 경로(CLASSPATH)에 포함해야 합니다.
    • Oracle 19c: 일반적으로 ojdbc8.jar 또는 ojdbc10.jar을 사용합니다.
  3. 데이터베이스 정보: 접속할 Oracle 인스턴스의 정보(URL, 사용자 ID, 비밀번호)를 알고 있어야 합니다.

2. Java 코드 예시 (OracleConnectionTest.java)

Java
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class OracleConnectionTest {

    // 🔑 사용자 환경에 맞게 이 값들을 수정하세요.
    private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
    // TNS Listener 포트가 기본값(1521)이고, SID가 ORCL이며, DB가 로컬에 있다고 가정
    private static final String URL = "jdbc:oracle:thin:@localhost:1521:ORCL"; 
    // 또는 Service Name을 사용하는 경우:
    // private static final String URL = "jdbc:oracle:thin:@//localhost:1521/XEPDB1"; 
    
    private static final String USER = "your_username"; // 예: SCOTT 또는 SYSTEM
    private static final String PASS = "your_password"; // 예: TIGER 또는 manager

    public static void main(String[] args) {
        Connection conn = null;

        try {
            // 1. JDBC 드라이버 로드 (Class.forName)
            Class.forName(DRIVER);
            System.out.println("✅ JDBC 드라이버 로드 성공.");

            // 2. 데이터베이스 연결 (DriverManager.getConnection)
            conn = DriverManager.getConnection(URL, USER, PASS);
            System.out.println("🎉 데이터베이스 연결 성공!");
            System.out.println("DB 연결 정보: " + conn.getMetaData().getDatabaseProductName() + " " + conn.getMetaData().getDatabaseProductVersion());

        } catch (ClassNotFoundException e) {
            System.err.println("❌ JDBC 드라이버를 찾을 수 없습니다. CLASSPATH 설정을 확인하세요.");
            e.printStackTrace();
        } catch (SQLException e) {
            System.err.println("❌ 데이터베이스 연결 실패!");
            System.err.println("오류 코드: " + e.getErrorCode());
            System.err.println("오류 메시지: " + e.getMessage());
            e.printStackTrace();
        } finally {
            // 3. 연결 닫기
            if (conn != null) {
                try {
                    conn.close();
                    System.out.println("연결 종료.");
                } catch (SQLException e) {
                    System.err.println("연결 종료 중 오류 발생: " + e.getMessage());
                }
            }
        }
    }
}

3. 컴파일 및 실행 방법

  1. 파일 저장: 코드를 OracleConnectionTest.java 파일로 저장합니다.
  2. ojdbcX.jar 준비: Oracle 드라이버 파일(ojdbc8.jar 등)을 소스 코드가 있는 디렉토리에 복사합니다.
  3. 컴파일: 터미널/명령 프롬프트에서 컴파일합니다.
  4. Bash
     
    # ojdbc8.jar 파일이 현재 디렉토리에 있다고 가정
    javac -cp ojdbc8.jar OracleConnectionTest.java
    
  5. 실행: 컴파일된 클래스 파일을 실행합니다.
  6. Bash
     
    java -cp .:ojdbc8.jar OracleConnectionTest
    # (Windows 환경: java -cp .;ojdbc8.jar OracleConnectionTest)
    

예상 출력 (성공 시)

✅ JDBC 드라이버 로드 성공.
🎉 데이터베이스 연결 성공!
DB 연결 정보: Oracle 19.0.0.0.0
연결 종료.

예상 출력 (실패 시 - 비밀번호 오류 등)

✅ JDBC 드라이버 로드 성공.
❌ 데이터베이스 연결 실패!
오류 코드: 1017
오류 메시지: ORA-01017: invalid username/password; logon denied
... (Java Stack Trace)