WebLogic에서 CMP EJB 프로젝트 마이그레이션

WebLogic에서 CMP EJB 프로젝트를 마이그레이션할 때 생성된 코드를 데이터베이스 스키마 이름과 독립적으로 만들려면 데이터베이스 스키마 이름을 NULLID로 변경해야 합니다.

스키마 이름 지정 제한사항

특정 스키마 이름을 사용하여 데이터 모델에 대해 작성된 CMP EJB v1.x 또는 v2.x 맵핑으로 인해 스키마 이름 접두부를 사용하는 SQL 코드가 생성됩니다(schema_name.table). 데이터베이스는 DB2® 또는 Oracle이나 기타 벤더일 수 있습니다. 이는 데이터베이스에 연결할 때 사용되는 로그인 ID와 동일해지도록 스키마 이름을 자동 설정함으로써 WebSphere® Application Server 또는 v7.x에서 생성된 코드의 스키마 이름과 독립적이 되도록 해당 데이터 소스를 융통성 있게 지정할 수 없게 합니다.

유연한 스키마 이름

스키마 이름을 CMP EJB 1.x 또는 2.x 맵핑으로 하드 코딩하지 않고 NULLID를 사용합니다. 데이터베이스 모델에 스키마 이름 NULLID를 사용하면 생성되는 EJB 배치 코드 SQL 문이 스키마 이름과 독립적이 되어 WebSphere Application Server V7.x 서버에 융통성 있게 데이터 소스를 지정할 수 있습니다. 생성된 SQL 문의 NULLID 접두부는 애플리케이션 서버 EJB/데이터 소스 런타임에 의해 런타임 시 서버 데이터 소스에 지정된 로그인 ID에 맞게 변경됩니다.

EJB 백엔드 폴더에 스키마 이름이 NULLID가 아닌 데이터 모델을 작성하는 데이터베이스 연결에 대한 EJB 맵핑이 완료되면 다음과 같은 방식으로 스키마 이름을 변경할 수 있습니다.

  1. Rational® Application Developer V7.0의 경우 Java™ EE 퍼스펙티브의 엔터프라이즈 탐색기 보기 에 있는 EJB 프로젝트에 논리 데이터 모델 폴더가 있습니다. 펼치면 데이터 모델 폴더에 데이터 모델 파일 {<name>).dbm이 표시됩니다. 이 파일은 실제로 ejbModule/META-INF/backends/{database vendor backend folder}에 있습니다.
  2. D*.dbm 데이터 모델 파일을 두 번 클릭하여 실제 데이터 모델 편집기를 열거나 파일을 마우스 오른쪽 단추로 클릭하고 열기를 선택하십시오.
  3. 스키마를 클릭하면 특성 보기에 해당 정보가 표시됩니다. 스키마 이름을 NULLID로 변경하십시오. 파일을 저장하십시오.
  4. CMP EJB 프로젝트를 마우스 오른쪽 단추로 클릭한 후 Java EE > 배치 준비를 선택하십시오. 생성된 SQL 코드의 접두부가 NULLID가 되고, WebSphere Application 서버에 의해 런타임 시 이 접두부가 수정되어 로그인 ID에 맞는 스키마 접두부가 포함된 상태로 SQL 문을 송신합니다.
    참고: 서버 데이터 소스의 로그인 ID에 맞는 스키마 이름을 사용할 수 없고 사용자 정의 특성 설정이 필요한 일부 데이터베이스 벤더 및 버전 시나리오가 있습니다. z/OS® DB2의 경우 NULLID 맵핑 스키마가 있는 CMP EJB 프로젝트에 대한 런타임 DB2 z/OS 데이터 소스 스키마 지정을 참조하십시오.

피드백