2011-05-16 3 views
3

Unix에서 실행되는 Oracle 10G 데이터베이스와 Windows에서 실행되는 SQL Server 데이터베이스 간의 통신에 관한 사람들의 의견을 찾고 있습니다.Oracle에서 SQL 서버로의 통신 - JDBC와 ODBC

Oracle 데이터베이스에서 데이터를 읽고 SQL Server의 테이블에 데이터를 채우는 배치 작업을 작성해야한다는 요구 사항이 있습니다.

오라클은 ODBC 드라이버를 사용하여 Oracle 데이터베이스에서 SQL Server 데이터베이스로 데이터베이스 링크를 생성 할 수있는 "이기종 서비스"기능을 지원합니다.

다른 옵션은 JDBC를 사용하여 SQL Server에 연결하고 데이터베이스 링크없이 JDBC 연결을 사용하여 데이터를 채우는 Java 프로세스를 사용하는 것입니다.

두 가지의 장단점을 알고 싶다면.

감사

성능의 관점에서

답변

5

, 데이터베이스 링크와 함께 갈 거의 확실하게 더 효율적입니다. 그렇지 않으면 Java 프로세스가 Oracle 데이터베이스에서 네트워크를 통해 데이터를 가져 와서 네트워크를 통해 SQL Server 데이터베이스에 다시 기록해야합니다. 직접 연결은 단일 네트워크 왕복 만 필요합니다.

유지 관리 관점에서 보았을 때 데이터베이스 링크는 일반적으로 코드 작성 횟수가 현저히 줄어 듭니다. 그것은 모든 JDBC가 ORM 층에 의해 수행되는 경우에도 자바에서 동일한 작업을 수행하는 것보다

INSERT INTO [email protected](<<column list>>) 
    SELECT <<column list>> 
    FROM sourceOracleTable 

를 작성하는 훨씬 더 쉽다.

+0

안녕 저스틴, 나는 오라클 데이터베이스와 같은 머신에 자바 프로세스를 두는 것을 고려했다. 단지 네트워크를 통하지 않고 로컬 머신에서 데이터를 읽는 것일 뿐이다. odbc가 JDBC보다 더 안정적인지 궁금합니다. – ziggy

+0

@ziggy - 어느 프로토콜이 본질적으로 다른 프로토콜보다 안정적 일 것이라고는 기대하지 않습니다. 오라클이 제공하는 이기종 서비스 코드는 작성하려는 Java 프로세스보다 견고 할 것입니다. –

관련 문제