====== Oracle JDBC Driver ====== * JDBC 드라이버가 여러 MVN Repository 에 산개해 있다. 어느게 진짜냐? * https://mvnrepository.com/artifact/com.oracle.database.jdbc : 가장 유력해보이는 최신 버전 유지 리포지토리 * https://mvnrepository.com/artifact/com.oracle.ojdbc : 최신버전이 부족함. * https://mvnrepository.com/artifact/com.oracle.jdbc : 최신버전이 부족함. * JDK 버전에 따라 선택해야 한다. * [[https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6|ojdbc6]] : JDK 6,7,8 * [[https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8|ojdbc8]] : JDK 8,9,11 * [[https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc10|ojdbc10]] : JDK 10, 11 * [[https://www.oracle.com/kr/database/technologies/appdev/jdbc.html|JDBC Drivers]] * [[http://www.orafaq.com/wiki/JDBC|JDBC - Oracle FAQ]] ===== orai18n ===== * https://mvnrepository.com/artifact/com.oracle.database.nls/orai18n * ''KO16MSWIN949'' 같은 비유니코드 문자집합 사용시 ''orai18n'' 패키지 추가 필요. ===== 기본 설정 ===== * Driver class : ''oracle.jdbc.driver.OracleDriver'' * 기본 JDBC Url 형태 : ''jdbc:oracle:thin:@localhost:1521:'' ===== Connection Properties ===== * JDBC URL로 설정하지는 못하고, Connection Pool 에서 connection properties 로 설정할 수 있는 값. * 정확한 공식 문서를 찾지 못했음. * [[https://d2.naver.com/helloworld/1321|JDBC Internal - 타임아웃의 이해]] 참조 * [[https://docs.oracle.com/cd/E21454_01/html/821-2594/cnfg_oracle-env_r.html|Oracle Adapter Environment Properties - Configuring Environment Components for Oracle Java CAPS Database Adapters]] * [[https://docs.oracle.com/cd/E57185_01/ESTUG/apbs02s23.html|oracle.jdbc.ReadTimeout]] * ''oracle.net.CONNECT_TIMEOUT'' : Connection timeout millis, 예) ''1000''(1초) * ''oracle.jdbc.ReadTimeout'' : Read timout millis, 예) ''60000''(1분) ===== Logging ===== * ''ojdbc*_g.jar'' 처럼 ''_g''로 끝나는 라이브러리를 사용하면 로그를 남길 수 있다. * https://mvnrepository.com/artifact/com.oracle.database.jdbc.debug * [[https://docs.oracle.com/cd/B28359_01/java.111/b31224/diagnose.htm|Diagnosability in JDBC]] * [[https://www.oracle.com/technetwork/topics/11-2.pdf|]] * [[https://oboki.net/workspace/java/oracle-diagnosability-in-jdbc-driver%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EB%8A%94-sql-%EB%A1%9C%EA%B9%85/|[Oracle] Diagnosability in Jdbc, driver에서 사용되는 SQL 로깅 – oboki]] testRuntimeOnly ('com.oracle.database.jdbc.debug:ojdbc8_g') * Java 실행시 ''-Doracle.jdbc.Trace=true'' 만 준다. * [[java:slf4j|Slf4j]] 사용시 ''jcl-over-slf4j'' 설정만 돼 있다면, 실제 slf4j 구현체(보통은 [[java:logback|Logback]]에 로그 레벨 설정을 해주면 된다.