기본 콘텐츠로 건너뛰기

라벨이 DbConnection인 게시물 표시

[Oracle] Oracle Schemas Metadata…

역시나 이번 프로젝트에서 새롭게 추가할 항목이 Oracle Database에 대한 Code Generator (C#) 이다. 어떻게 하면 쉽고, 간편하게(?) 스키마 정보를 가져올 수 있을까 생각하고 있던 중에 예전에 잠시 보았던 DbConnection 개체의 GetSchema 메서드를 활용해 보기로 했다. 별도의 코드 작성 없이도 구성할 수 있는 부분이 매력적이다. Tool 로 구성하기 위해서는 범용적인 부분을 염두에 두어야 하지만, 당장은 프로젝트에 적용해야 하는 문제로 Oracle에 대해서만 정리해 놓도록 한다. GetSchema() 를 이용하면 일반적인 DBMS 의 각종 스키마들을 모두 또는 지정한 것들만 DataTable 형식으로 받아서 처리할 수 있다. 물론 Oracle 도 DbConnection을 구현한 것이기 때문에 다른 DBMS도 동일하게 적용될 수 있다. 사용 방법 public virtual abstract DataTable GetSchema(); public virtual abstract DataTable GetSchema(string collectionName); public virtual abstract DataTable GetSchema(string collectionName, string[] restrictionValues); collectionName 은 찾고자 하는 스키마의 종류를 의미하고, restrictionValues 는 스키마 정보를 조회할 때 사용할 제약정보들을 지정하면 된다. 자세한 부분은 참고와 샘플로 확인한다. 참고 사항 collectionName 은 다음과 같은 것들을 지정할 수 있다. Collection Name Number of restrictions Remarks MetaDataCollections 0 Returns this list. Same as using GetSchema() method without parameters. ReservedWords 0