Java와 Oracle XE 간의 데이터 소스 연결을 사용하는 OCI와 SIN 드라이버 연결의 차이점은 무엇입니까?
3way(OCI, THIN 및 데이터 소스)를 사용하여 Java와 Oracle 10g XE 간의 연결을 위해 아래 코드를 작성하고 있습니다. 코드는 정상적으로 실행되고 있지만 데이터 소스 연결과 함께 THIN과 OCI 간의 차이점을 알 수 없습니다.
1-
public static void main (String args[]) throws SQLException
{
OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:hr/hr@localhost:1521/XE");
Connection con = ods.getConnection();
System.out.println("Connected");
con.close();
}
2-
public static void main(String args[])
{
try
{
// load oracle driver
Class.forName("oracle.jdbc.driver.OracleDriver");
// connect using Thin driver
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
System.out.println("Connected Successfully To Oracle");
con.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
3-
public static void main(String args[])
{
try
{
// load oracle driver
Class.forName("oracle.jdbc.driver.OracleDriver");
// connect using Native-API (OCI) driver
Connection con = DriverManager.getConnection("jdbc:oracle:oci:@","hr","hr" );
System.out.println("Connected Successfully To Oracle using OCI driver");
con.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
Oracle은 데이터베이스에 대해 네 가지 유형의 드라이버를 제공하지만, 질문하신 두 가지만 열거하겠습니다.
OCI 드라이버는 유형 2 JDBC 드라이버이며 기본 코드를 사용하여 데이터베이스에 연결합니다.따라서 기본 Oracle 드라이버를 사용할 수 있는 플랫폼의 옵션일 뿐 "순수한" Java 구현은 아닙니다.
Oracle의 JDBC Thin 드라이버는 Java 소켓을 사용하여 Oracle에 직접 연결하는 유형 4 JDBC 드라이버입니다.Oracle의 SQL*Net TCP/IP 프로토콜을 직접 구현합니다.100% Java이므로 플랫폼에 독립적이며 애플릿에서도 실행할 수 있습니다.(당신이 그래야 하는 것이 아닙니다)
JDBC 씬 드라이버와 JDBC OCI 드라이버는 모두 동일한 네트워크 프로토콜을 사용합니다.서버의 관점에서 보면 둘 사이에는 차이가 없습니다.JDBC 씬 드라이버는 100% Java이며 단일 독립형 병에 포함됩니다(고급 기능을 사용하려면 몇 가지 추가 병이 필요함).JDBC OCI 드라이버는 OCI 클라이언트 라이브러리에 JNI를 호출하므로 설치할 Oracle 전체 클라이언트에 따라 달라집니다(OCI도 sqlplus에서 사용됨).Oracle은 대부분의 고객이 사용하는 JDBC 씬 드라이버를 사용할 것을 권장합니다.그것은 가장 빠른 운전자이고 가장 강력한 운전자입니다.
언급URL : https://stackoverflow.com/questions/21711085/what-is-the-difference-between-oci-and-thin-driver-connection-with-data-source-c
'codememo' 카테고리의 다른 글
| 예외 블록을 테스트하기 위해 예외를 발생시키는 함수 조롱 (0) | 2023.06.12 |
|---|---|
| Python에서 xlrd를 사용하여 숫자 Excel 데이터를 텍스트로 읽기 (0) | 2023.06.07 |
| 추상 클래스 유형 스크립트에 종속성 주입(Angular2) (0) | 2023.06.07 |
| current_timestamp SQL에서 10초를 추가하는 방법 (Oracle ) (0) | 2023.06.07 |
| Show navbar 메뉴는 사용자 인증에 따라 다릅니다. (0) | 2023.06.07 |