2012-06-20 2 views
0

동일한 서버에 두 개의 데이터베이스가 있습니다.하나의 쿼리에서 다른 속성을 가진 두 개의 데이터베이스 사용

사용자가 검색어를 검색 할 때 두 개의 서로 다른 데이터베이스에서 하나의 결과를 표시하고 싶습니다! 어떻게 할 수 있습니까? JSP를 사용하고 있습니다.

+0

잘 될 것 DB. 당신은 정말로 더 많은 정보와 당신이 지금까지 시도했거나 생각한 것을 줄 필요가 있습니다. –

+1

이 링크가 도움이 될 수 있습니다 -> http://stackoverflow.com/questions/1183341/connect-multiple-tables-in-different-databases-mysql –

답변

3

두 데이터베이스를 모두 연결할 필요는 없습니다. 설명해 드리겠습니다.

우리는 두 개의 데이터베이스 DB_1과 DB_2를 가지고 있는데, 두 테이블 모두 DB_1.Table1과 DB_2.Table2 테이블을 가지고 있습니다.

DB_1에 더 많은 테이블이 있다고 가정하면 여기서 DB_2의 Table2에 GRANT을 DB_1에 제공하면됩니다. 또는 DB_2의 모든 테이블에 대한 보조금을 제공 할 수 있습니다 (필요한 경우). 이것이 오라클의 행동 방식입니다. 귀하의 DB 서버가 동일한 데이터베이스를 지원하지 않는다면 다른 데이터베이스의 여러 테이블을 사용하기 위해 DB_1 사용자에게 허가 (GRANT)를 제공하십시오.

및 쿼리처럼 보일 것이다 ..

Select t1.id, t1.name,t2.id, t2.name t2 from DB_1.Table1 t1, DB_2.Table2 t2 where... 

을하고 당신은

나는 사용자가 어떤 용어를 검색 할 때 두 개의 서로 다른 데이터베이스에서 하나의 결과를 보여주고 싶은

을 썼다!

당신이 두 데이터베이스에 대한 연결을 제공하거나 그 밖의 다른 데이터를 포함 그들 중 하나에 대한 단일 뷰를해야합니다 귀하의 질의는 시작 ...

Select t1.id, t1.name from DB_1.Table1 t1 where... 
Union All 
Select t2.id, t2.name from DB_2.Table2 t2 where... 
관련 문제