원격 DB 가 아닌
같은 서버에 있는 다른 DB의 테이블을 직접 쿼리할 수 있나요?
MSSQL을 예로들면 SELECT count(*) FROM [DB명].[소유자].[테이블명] 요렇게
있다면 쿼리 예제문 좀 작성해 주시면 감사하겠습니다.
수고하세요...
안녕하세요.
현재 원격DB로 설정하지 않고는 다른 DB의 데이터를 검색할 수 있는 방법은 없읍니다.
불편을 드려 대단히 죄송합니다.
>원격 DB 가 아닌
>같은 서버에 있는 다른 DB의 테이블을 직접 쿼리할 수 있나요?
>
>MSSQL을 예로들면 SELECT count(*) FROM [DB명].[소유자].[테이블명] 요렇게
>있다면 쿼리 예제문 좀 작성해 주시면 감사하겠습니다.
>수고하세요...
방법 1:
큐브리드는 DBLink 기능을 가지는 MDBC라는 기능이 있습니다. 큐브리드 매니저의 서버탭에서 \"원격DB\"라는 매뉴를 통해 접근하고자 하는 데이터베이스를 등록하고 등록된 원격DB의 테이블을 로컬의 PROXY (VIEW) 테이블로 정의한 후 사용할 수 있습니다. 예를 들어, 원격DB에 employee라는 테이블이 있고, 원격DB명은 큐브리드 매니저의 \"원격DB\"에서 xdb라고 등록하였다면 다음과 같이 정의할 수 있습니다.
CREATE VCLASS empl ON LDB xdb
(
ssn INTEGER,
name CHAR(15),
dept_no INTEGER,
salary MONETARY, /*in US$*/
location CHAR(15)
)
AS
SELECT ssn, name, dept_no, 0.25 * salary, location
FROM employee;
여기에서 select name from empl where ssn = 100 ; 과 같은 질의를 수행하면 원격에 있는 employee 테이블의 결과을 가져올 수 있습니다. 그러나 이러한 MDBC 기능은 제한적인 용도로 사용하는 것이 좋습니다. 예를들어 검색 결과 건수가 많다거나 전체 검색과 같은 질의를 수행하면 성능에 영향을 많이 주게됩니다. 이러한 단점들을 극복하기 위해 새로운 접근 방식을 연구중에 있으며, 그 기간동안의 MDBC 기능 사용은 권장하고 있지 않습니다.
방법2:
큐브리드는 Java Stored Procedure(이후 JSP)를 지원합니다. JSP는 로컬 데이터베이스 뿐만 아니라 원격의 데이터베이스를 접근할 수 있습니다(일반 JDBC 프로그램과 동일). 이 기능을 이용하여 원격의 DB에 쿼리를 하는 JSP를 하나 생성 등록하고 현재 DB에서는 이 JSP를 함수나 프로시져 형태로 등록하여 호출하면 됩니다.
방법3:
현재 말씀하신 것처럼 ODBC나 OLEDB 등에서 지원하는 오픈 스키마에 대한 지원 요구가 제기되고 있어, 이 부분에 대한 검토가 내부적으로 이루어 지고 있습니다. 송덕용님의 사용 의견도 여기에 붙여 적극적으로 검토하도록 하겠습니다. 구체적인 지원 방향이 세워지면, 추후 공지해 드릴 수 있도록 하겠습니다.
감사합니다.
>안녕하세요.
>현재 원격DB로 설정하지 않고는 다른 DB의 데이터를 검색할 수 있는 방법은 없읍니다.
>불편을 드려 대단히 죄송합니다.
>>원격 DB 가 아닌
>>같은 서버에 있는 다른 DB의 테이블을 직접 쿼리할 수 있나요?
>>
>>MSSQL을 예로들면 SELECT count(*) FROM [DB명].[소유자].[테이블명] 요렇게
>>있다면 쿼리 예제문 좀 작성해 주시면 감사하겠습니다.
>>수고하세요...