2009-09-21 2 views
1

저는 여러 모듈로 나누어 진 프로젝트에서 일하고 있습니다. 각 모듈은 mysql에서 독자적으로 독립적 인 데이터베이스를 가지고 있지만 모듈은 모듈 사이에서 데이터를 가져와야합니다. 예를 들어 새로운 "admin"모듈을 개발하고 다른 모든 모듈은 "admin"데이터베이스의 데이터에 액세스해야합니다. 나는 다른 데이터베이스에서 데이터를 구하는mysql에서 데이터베이스 간의 데이터 액세스 방법은 무엇입니까?

select * from admin.table 

같은 쿼리를 만들 수 있다는 것을 알고 있지만, 각 모듈 (그리고 새로운 "관리자"모듈) CakePHP에서 만들어집니다. 한 가지 가능한 솔루션은 동의어 (Oracle 또는 SQL Server와 같은)를 사용하는 것이지만 MySQL은이를 지원하지 않는다고 생각합니다. 누군가 더 좋은 아이디어가 있습니까? 뷰 사용에 대한 감사

+0

동일한 서버의 다른 데이터베이스 또는 다른 서버의 다른 데이터베이스? –

+0

동일한 서버에있는 서로 다른 데이터베이스 – segaco

답변

0

나는 CakePHP가 데이터베이스 간 관계를 처리 할 수 ​​있다는 느낌이 들었습니다. 각 모델에 대해 $useDbConfig을 해당 데이터베이스에 대한 연결로 설정하십시오. CakePHP는 여러 개의 쿼리 (적어도 데이터베이스 연결 당 하나씩)를 생성하고 함께 결과를 결합해야합니다. 이 접근법은 간단한 관계에 대해서는 잘 작동하지만 HABTM과 같은 관계에 대한 완전한 지원은 없을 수 있습니다.

0

방법은 :

create view admin_table as select * from admin.table 

그런 다음, 당신은 단지 admin_table$tableName을 설정해야합니다.

0

는 제가 틀릴 수도 있지만 나는 쿼리가 database.owner.table에서 선택

*을 기반으로 생각 ... 그리고 암시 적 소유자가 "DBO"(데이터베이스 소유자)가 될 것입니다. 그러면 다음을 수행 할 수 있습니다.

select a1. , b1. from database1.table1 a1, database2.table2 b1 여기서 a1.fld1 = b1.fld1 ...

관련 문제