IntelliJ에서 JDBC를 사용하여 Oracle Autonomous Database에 연결
IntelliJ IDE를 사용하여 Oracle Autonomous Database에 대한 접속을 설정할 수 있습니다. 다음 절에서는 Maven 프로젝트 또는 Gradle 프로젝트를 사용하여 Oracle Autonomous Database에 처음 연결하는 방법에 대한 정보를 제공합니다. Oracle Autonomous 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
파일에 대한 변경 사항을 저장합니다.
절차
IntelliJ 및 Maven 또는 Gradle을 사용하여 Autonomous Database에 접속할 수 있습니다.
- Maven 프로젝트를 생성합니다.
- 파일 메뉴에서 누르고 새로 만들기를 선택한 다음 프로젝트를 선택합니다.
- 왼쪽에서 Maven을 선택하고 최신 버전의 JDK를 프로젝트 SDK로 선택합니다.
- 다음을 누르십시오.
- 이름을 ADBQuickstart으로 제공합니다.
ADBQuickStart.java
파일을 생성합니다.src/main/java
을 마우스 오른쪽 단추로 누릅니다.- 새로 만들기를 선택한 다음 Java 클래스를 선택합니다.
com.oracle.jdbctest.ADBQuickStart.java
를 입력합니다. 이렇게 하면 필요한 패키지 구조도 생성됩니다. ADBQuickstart.java 파일의 내용을 이 새 파일에 복사해야 합니다.
- 다음 변경 사항으로
pom.xml
파일을 수정합니다. Add Oracle JDBC Driver as a dependency.ojdbc8-production
는ucp.jar
(클라이언트측 접속 풀로 UCP를 사용하는 데 필요함),oraclepki.jar
,osdt_core.jar
,osdt_cert.jar
와 함께 Oracle JDBC 드라이버(ojdbc8.jar
)를 다운로드합니다. These JARs are required for using Oracle Wallets while connecting to Oracle Autonomous Database.<properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8-production</artifactId> <version>19.18.0.0</version> <type>pom</type> </dependency> </dependencies>
- ADB QuickStart를 작성하여 실행합니다. ADBQuickStart.java을 마우스 오른쪽 버튼으로 눌러 Java 코드를 컴파일하고 Build Module ADBQuickStart을 누릅니다. Java 코드에 컴파일 오류가 없고 최신 JDK 버전을 사용하고 있는지 확인하십시오.
- 샘플 Java 프로그램을 실행합니다. ADBQuickStart.java을 마우스 오른쪽 단추로 누른 후 ADBQuickStart.main() 실행을 누릅니다. 콘솔에 데이터베이스 암호를 입력해야 합니다.
샘플 출력:
다음 화면과 같이 성공 메시지와 함께 질의된 행이 표시됩니다.
주:
참고: 방화벽 뒤에서 Oracle Autonomous Database에 접속할 경우 접속 시간 초과 오류가 발생할 수 있습니다. 이 샘플을 실행하는 동안 방화벽 외부에 있어야 합니다. 또는 HTTPS 프록시를 사용하도록tnsnames.ora
파일을 업데이트하십시오.
- Gradle 다운로드 및 빌드 지침은 Gradle Guide의 지침을 따르고 Gradle 명령을 사용하기 전에 PATH 변수를 설정합니다. 첫 번째 단계로 다음 명령을 사용하여 Gradle 프로젝트를 만듭니다. 생성할 프로젝트 유형 선택에 대해 2:application을 선택해야 합니다. 또한 소스 패키지(기본값:temp)의 경우
com.oracle.jdbctest
를 사용합니다.gradle init
- ADBQuickStart.java 파일을
src/main/java/com/oracle/jdbctest
디렉토리로 복사합니다. - 다음과 같이 변경하여
build.gradle
파일을 수정합니다.mavenCentral()
를 저장소로 추가합니다.- Oracle JDBC 드라이버를 종속성으로 추가합니다.
주:
ojdbc8-production은ucp.jar
(클라이언트측 접속 풀로 UCP를 사용하는 데 필요),oraclepki.jar
,osdt_core.jar
,osdt_cert.jar
와 함께 Oracle JDBC 드라이버(ojdbc8.jar
)를 다운로드합니다. 이러한 JAR은 Oracle Autonomous Database에 접속하는 동안 Oracle 전자 지갑을 사용하는 데 필요합니다.자세한 내용은 Maven Central Guide를 참조하십시오.
mainClassName
를 ADBQuickStart로 업데이트합니다.- 콘솔에서 암호를 읽을
run
블록을 추가합니다.repositories { // Maven Central mavenCentral() } dependencies { // Get the 19.18.0.0 Oracle JDBC driver along with other companion jars implementation("com.oracle.database.jdbc:ojdbc8-production:19.18.0.0") } application { // Define the main class for the application mainClassName ='{your_project_directory}.ADBQuickStart' } // To pause to read the password from console run { standardInput = System.in }
- Gradle 응용 프로그램을 작성합니다.
build.gradle
파일이 있는 디렉토리에 있는지 확인합니다. 다음 명령을 사용하여 Java 코드를 컴파일합니다../gradlew build
- 샘플 Java 프로그램을 실행합니다.
./gradlew run
샘플 출력: 다음 화면에 표시된 대로 성공 메시지와 함께 질의된 행이 표시됩니다.
주:
방화벽 뒤에서 Oracle Autonomous Database에 접속하는 경우 접속 시간 초과 오류가 발생할 수 있습니다. 이 샘플을 실행하는 동안 방화벽 외부에 있어야 합니다. 또는 HTTPS 프록시를 사용하도록tnsnames.ora
파일을 업데이트하십시오.