중화사전망 - 자전 검색 - Sql 이 데이터베이스에서 Oracle 을 쿼리하는 방법

Sql 이 데이터베이스에서 Oracle 을 쿼리하는 방법

현재 Microsoft.NET 기반 온라인 주문 시스템이 있지만 품질 관리 및 유지 관리 시스템은 여전히 기존 Oracle 데이터베이스 애플리케이션을 사용하고 있다고 가정합니다. 고객이 제품 보증 기간 동안 제품 교체와 같은 주문을 할 경우 해당 주문에 대해 수수료가 부과되지 않습니다. 이 시점에서 Oracle 데이터베이스에서 실시간 질의 결과를 얻어야 합니다. LinkedServer 를 구축하면 SQLServer 에서 Oracle 데이터베이스의 고객 데이터를 실시간으로 쿼리하고 기존 고객이 누구인지 파악할 수 있습니다.

데이터가 서로 다른 SQLServer 데이터베이스에 분산되어 있는 경우 서버에 연결하여 서버 간 분산 쿼리를 수행할 수 있습니다. 모든 데이터베이스 서버가 SQL 서버일 때 연결 서버를 쉽게 설정할 수 있습니다. 알아야 할 것은 SQL 서버의 온라인 설명서에 포함되어 있습니다. 그러나 일부 자료가 Oracle 데이터베이스 서버에 저장될 때 많은 문제가 발생할 수 있습니다. 예를 들어, 연결 서버를 설정하는 것은 쉽지 않습니다. SQL 서버의 EnterpriseManager 에 Oracle link server 를 설정하려면 이 SQLServer 가 Oracle 의 클라이언트라는 것을 이해해야 합니다. 따라서 SQLServer 와 동일한 서버에 Oracle 클라이언트 소프트웨어를 성공적으로 설치 및 구성해야 합니다. Oracle 에서 제공하는 제품은 Oracle8 이후의 데이터베이스만 지원하기 때문에 Oracle8 이후의 데이터베이스를 사용한다고 가정합니다. OracleNet8 라이브러리는 SQLServer 에 필요한 클라이언트 소프트웨어를 제공합니다.

서버에 접속할 때 Microsoft 에서 제공하는 OLEDB ProviderforOracle 을 사용하고, 사용하는 Oracle net 라이브러리는 SQL*Net2.3.3.0.4 이상이지만 Oracle7.3 데이터베이스에서 제공합니다. 즉, Oracle 데이터베이스를 SQLServer 의 접속 서버로 설정하려는 경우 7.3.3.4 이후 버전이고 적절한 SQL*Net 또는 Net8 라이브러리가 있는 한 Oracle 데이터베이스만 있으면 됩니다.

Oracle 데이터베이스에서 스키마는 SQLServer 전문가가 익숙한 단일 데이터베이스를 나타냅니다. 오라클 데이터베이스에 접속할 때 스키마 이름, 비밀번호 및 호스트 접속 호스트 문자열을 제공해야 합니다. 각 특정 Oracle 계정에는 하나의 Oracleschema 가 있으며 하나만 있습니다. 따라서 스키마 이름은 실제로 스키마 소유자의 계정 이름과 같습니다. 스키마에 대한 자세한 내용은 Oracle 의 Datadictionary 를 참조하십시오.

Oracle 접속 문자열의 경우 servicename 또는 sid (systemid identifier) 라고도 합니다. SQLServer 데이터베이스 인스턴스라고 하는 것을 Oracle 에서는 데이터베이스라고 합니다. 따라서 OracleServer 를 설치할 때 설치 프로그램 OracleUniversalInstaller (SQLServer 와 유사한 Setup 프로그램의 그래픽 인터페이스 설치 프로그램) 는 Oracle 데이터베이스 이름인 SID 이름이 무엇인지 묻습니다.

이 섹션에서는 원작자가 언급한 스키마의 해석에 문제가 있다. Oracleschema 는 동일한 사용자가 소유한 모든 데이터베이스 객체의 모음으로 볼 수 있습니다. 예를 들어, 사용자 SCOTT 이 만든 빈 전체 이름은 Scott 입니다. EMP, SCOTT 은 EMP 의 스키마 이름입니다. 그래서 schemaname 은 실제로 Oracle 데이터베이스의 사용자 계정입니다. 그러나 데이터베이스와 비교해서는 안 된다! SQLServer 의 데이터베이스 스키마에는 데이터 파일과 로그 파일이 포함되어 있기 때문에 Oracle 의 스키마 객체는 테이블스페이스에만 존재합니다. 일부 독자들의 혼동을 피하기 위해서 특별히 설명하겠습니다.