ORACLE
java로 oracle DB 접속 테스트
필유아사
2025. 12. 4. 12:10
1. 전제 조건
- JDK (Java Development Kit) 설치: 자바 코드를 컴파일하고 실행할 환경이 필요합니다.
- Oracle JDBC 드라이버 (ojdbcX.jar): 해당 드라이버 파일을 다운로드하여 클래스 경로(CLASSPATH)에 포함해야 합니다.
- Oracle 19c: 일반적으로 ojdbc8.jar 또는 ojdbc10.jar을 사용합니다.
- 데이터베이스 정보: 접속할 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. 컴파일 및 실행 방법
- 파일 저장: 코드를 OracleConnectionTest.java 파일로 저장합니다.
- ojdbcX.jar 준비: Oracle 드라이버 파일(ojdbc8.jar 등)을 소스 코드가 있는 디렉토리에 복사합니다.
- 컴파일: 터미널/명령 프롬프트에서 컴파일합니다.
-
Bash
# ojdbc8.jar 파일이 현재 디렉토리에 있다고 가정 javac -cp ojdbc8.jar OracleConnectionTest.java - 실행: 컴파일된 클래스 파일을 실행합니다.
-
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)