빌드 툴 없이 JDBC를 사용하여 Oracle Database에 접속
필요 조건
다음 절에서는 Oracle JDBC 드라이버 및 Universal Connection Pool을 사용하여 Java 응용 프로그램을 Oracle Autonomous Database에 연결하기 전에 수행해야 하는 작업에 대한 정보를 제공합니다. AVMC(자율운영 Exadata VM 클러스터) 프로비전 중 선택된 인증 유형에 따라 적합한 필요 조건을 참조하십시오. 기본적으로 단방향 TLS 연결은 AVMC를 프로비전할 때 사용으로 설정됩니다. 자세한 내용은 자율운영 Exadata VM 클러스터 생성을 참조하십시오.
AVMC의 세부 정보 페이지에서 인증 유형을 찾을 수 있습니다. 지침은 자율운영 Exadata VM 클러스터의 세부정보 보기를 참조하십시오.
Oracle Autonomous Database 인스턴스 프로비전
Oracle Autonomous Database에 액세스해야 합니다. 프로비저닝된 인프라가 없는 경우 전용 Exadata 인프라에서 Autonomous Database를 시작하기 전에을 참조하십시오.
ADMIN
사용자에 대해 사용한 암호를 기억하십시오. 데모 목적으로 ADMIN
사용자를 사용하지만 Oracle SQL Developer 또는 Database Actions를 사용하여 다른 데이터베이스 사용자를 생성하는 것이 좋습니다.
JDK 8 설치
최신 JDK 8 또는 더 높은 JDK 버전을 다운로드하세요.
주:
JDK8u162
또는 이후 버전을 사용해야 합니다. java -version
를 사용하여 설치한 JDK 버전을 확인합니다. JDBC 드라이버 버전을 확인하려면 java -jar ojdbc8.jar
를 입력합니다.
Github에서 샘플 프로그램 다운로드
- Github에서 ADBQuickStart.java 파일을 다운로드합니다. 이 샘플 응용 프로그램은 SH(Sales History) 샘플 스키마를 사용하고
SH.CUSTOMERS
테이블의 레코드 20개를 표시합니다. - Modify the ADBQuickStart.java file to include your Oracle Autonomous Database connection information:
- DB_USER: You can use
ADMIN
, the user created by default when the Oracle Autonomous Database is created (if you create another OracleAutonomous Database user, you can use that user instead). - DB_PASSWORD: 데이터베이스 사용자의 비밀번호를 사용합니다. If connecting as the
ADMIN
user, set this to the password you chose during the Create Autonomous Database step while provisioning Oracle Autonomous Database. 보안상의 이유로 샘플을 실행할 때 콘솔을 통해 비밀번호를 입력해야 합니다. - DB_URL: Autonomous Database에 대한 접속 문자열 보기의 지침에 따라 Autonomous Database에 대한 접속 문자열을 가져옵니다. Java 프로그램에서 직접 사용 중인 경우 \"를 사용하여 접속 문자열에서 "을(를) 이스케이프해야 합니다.
샘플 빠른 시작 Java 파일은 다음과 같습니다.
DB_URL = "jdbc:oracle:thin:@jdbc:oracle:thin:@(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=adb.us-sanjose-1.oraclecloud.com))(connect_data=(service_name=g13ec47eade81f7_demodb_low.adb.oraclecloud.com))(security=(ssl_server_cert_dn=\"CN=adb.us-sanjose-1.oraclecloud.com, OU=Oracle ADB SANJOSE, O=Oracle Corporation, L=Redwood City, ST=California, C=US\")))" DB_USER="ADMIN" and DB_PASSWORD="your_password"
- DB_USER: You can use
ADBQuickStart.java
파일에 대한 변경 사항을 저장합니다.
문제 해결 및 디버깅: 오류가 발생하면 문제 해결 팁 페이지에서 유용한 힌트를 참조하십시오.
Oracle Autonomous Database 인스턴스 프로비전
Oracle Autonomous Database에 액세스해야 합니다. 프로비저닝된 인프라가 없는 경우 전용 Exadata 인프라에서 Autonomous Database를 시작하기 전에을 참조하십시오.
ADMIN
사용자에 대해 사용한 암호를 기억하십시오. 데모 목적으로 ADMIN
사용자를 사용하지만 Oracle SQL Developer 또는 Database Actions를 사용하여 다른 데이터베이스 사용자를 생성하는 것이 좋습니다.
클라이언트 인증서 가져오기
-
Autonomous Database 인스턴스에서 전자 지갑 파일을 다운로드하여 Autonomous Database 인스턴스에 액세스하는 데 필요한 클라이언트 보안 인증서 및 네트워크 구성 설정이 포함된 zip 파일을 가져옵니다.
클라이언트 보안 인증서(
wallet.zip
파일)를 얻습니다.- ADMIN 사용자: Oracle Cloud Infrastructure 콘솔에서 데이터베이스 접속을 누릅니다. Download Client Credentials를 참조하십시오.
- 기타 사용자(관리자가 아님): Autonomous Database 인스턴스에 대한 관리자로부터 Oracle Wallet을 받습니다.
주:
허용되지 않은 데이터베이스 액세스를 방지하기 위해wallet.zip
파일 및 해당 내용을 보호합니다. - 클라이언트 자격 증명 파일(
wallet.zip
)의 압축을 풉니다.
JDK 8 설치
최신 JDK 8 또는 더 높은 JDK 버전을 다운로드하세요.
주:
JDK8u162
또는 이후 버전을 사용해야 합니다. java -version
를 사용하여 설치한 JDK 버전을 확인합니다. JDBC 드라이버 버전을 확인하려면 java -jar ojdbc8.jar
를 입력합니다.
Github에서 샘플 프로그램 다운로드
- Github에서 ADBQuickStart.java 파일을 다운로드합니다. 이 샘플 응용 프로그램은 SH(Sales History) 샘플 스키마를 사용하고
SH.CUSTOMERS
테이블의 레코드 20개를 표시합니다. - Modify the ADBQuickStart.java file to include your Oracle Autonomous Database connection information:
- DB_USER: You can use
ADMIN
, the user created by default when the Oracle Autonomous Database is created (if you create another OracleAutonomous Database user, you can use that user instead). - DB_PASSWORD: 데이터베이스 사용자의 비밀번호를 사용합니다. If connecting as the
ADMIN
user, set this to the password you chose during the Create Autonomous Database step while provisioning Oracle Autonomous Database. 보안상의 이유로 샘플을 실행할 때 콘솔을 통해 비밀번호를 입력해야 합니다. - DB_URL: 네트 서비스 이름(TNS 별칭) DBName_medium을 입력합니다. 여기서 DBName는 Oracle Autonomous Database를 프로비전하는 동안 Create Autonomous Database 단계에서 입력한 Oracle Autonomous Database 이름입니다. 사용 가능한 네트 서비스 이름은 클라이언트 인증서 zip 파일의 일부인
tnsnames.ora
파일에서 확인할 수 있습니다.TNS_ADMIN
는 Oracle Autonomous Database의 클라이언트 인증서 압축을 해제한 위치를 가리켜야 합니다.
샘플 빠른 시작 Java 파일은 다음과 같습니다.
DB_URL = "jdbc:oracle:thin:@DBName_medium?TNS_ADMIN=/Users/test/wallet_DBName" DB_USER="ADMIN" and DB_PASSWORD="enter_it_from_console"
- DB_USER: You can use
ADBQuickStart.java
파일에 대한 변경 사항을 저장합니다.
절차
- OTN에서 ojdbc8-full.tar.gz의 the19c 버전을 다운로드하고 classpath에 내용을 압축 해제합니다.
주:
ojdbc8-full.tar.gz
에는 최신 JDBC 드라이버 ojdbc8.jar, ucp.jar(클라이언트측 접속 풀로 UCP를 사용하는 데 필요한 JAR),oraclepki.jar
,osdt_core.jar
,osdt_cert.jar
가 포함됩니다. 이러한 JAR은 Oracle Autonomous Database에 접속하는 동안 Oracle 전자 지갑을 사용하는 데 필요합니다. - Java 프로그램을 컴파일합니다. classpath에 필요한 JAR에 대해 올바른 경로를 제공해야 합니다.
javac -classpath ./lib/ojdbc8.jar:./lib/ucp.jar:/lib/oraclepki.jar:./lib/osdt_core.jar:./lib/osdt_cert.jar com/oracle/jdbctest/ADBQuickStart.java
- 샘플 Java 프로그램을 실행합니다. classpath에 필요한 JAR에 대해 올바른 경로를 제공해야 합니다.
java -classpath ./lib/ojdbc8.jar:./lib/ucp.jar:/lib/oraclepki.jar:./lib/osdt_core.jar:./lib/osdt_cert.jar:. com.oracle.jdbctest.ADBQuickStart
샘플 출력:
다음 화면과 같이 성공 메시지와 함께 질의된 행이 표시됩니다.
주:
방화벽 뒤에서 Oracle Autonomous Database에 접속하는 경우 접속 시간 초과 오류가 발생할 수 있습니다. 이 샘플을 실행하는 동안 방화벽 외부에 있어야 합니다. 또는 HTTPS 프록시를 사용하도록tnsnames.ora
파일을 업데이트하십시오.