2012-09-04 3 views
4

AOP 표준을 적용 할 수있는 SQL Server 인스턴스 (2008 이상)에 설치할 수있는 오픈 소스 또는 기타 라이브러리가 있습니까? 개발 팀 전체에 걸쳐 템플릿을 사용하여 크로스 커팅 문제를 방지하는 것이 좋습니다. 가능한 경우 AOP가 최상의 옵션처럼 보입니다.Aspect Oriented SQL Server

이미 존재하지 않는다면, 내 자신을 굴려 보려고 노력할 것입니다.

편집 :

몇 가지 예는 믹스 인 특성과 같은 테이블의 특정 종류를 만들기 위해 표를 서브 클래 싱 될 수 있습니다. 필자는 많은 감사 요구 사항이있는 데이터웨어 하우스 환경에 있으므로 비트 맵 테이블을 많이 만듭니다. 거래와 유효 시간을 추가하고 해당 테이블에 대한 CRUD 문을 수정하는 것

CREATE BITEMPORAL TABLE 

문이 굉장 할 것이다. 달성하기위한 더 열심히 일을

CREATE PROC FOO /* VERBOSE, ATOMIC, SERIALIZABLE */ 

같은 특정 로깅 또는 거래의 특성과 저장 프로 시저 될 것이다 (예, 나는. 뷰 및 트리거가 다소,이 작업을 수행 할 수 있다는 것을 알고)와 자동으로 적절한 T로 감싸 몸을 가지고 - 그 일을하는 SQL. 예, 저장 프로 시저를 추가하여 이러한 인수를 가져 와서 SQL 생성을 수행하고 해당 아티팩트를 컴파일 할 수 있습니다. 그러나 단점은 개발자가 프로 시저를 건너 뛰고 직접 CREATE PROC를 사용할 수 있다는 것, 그리고 syscomments의 내용이 AOP 주석이 붙은 버전이 아니라 생성 된 코드라는 점입니다.

+3

시행하려는 내용의 예를 들려 줄 수 있습니까? – usr

+0

의도 한 용도를 아는 것이 정말 재미있을 것이라고 생각합니다. 기본적으로 쿼리 이전이나 후에 쿼리에 참여하고 있습니까? – carlpett

답변

0

흥미 롭습니다. 나는 AOP 기술을 SQL Server에 적용하는 것에 대해 생각조차 해본 적이 없다.

SQL Server 2008에서는 .NET 코드를 호출 할 수 있으므로 PostSharp 나 Castle DynamicProxy 같은 표준 AOP 도구에서 작업 할 수 있다고 생각합니다.

6

아마도 AO 개념을 SQL로 가져 오는 프로그래밍 언어 인 AO4SQL을 살펴 보는 것이 좋습니다. 개념적으로,이 도구는 모든 SQL 서버에서 작동합니다. 램-SE 2011에 게시 된 : http://www-users.cs.york.ac.uk/~manuel/Events/RAM-SE11/RAMSE11papers.zip

AO4SQL 프로토 타입 도구입니다 명심하지만 경우 :

내 종이 을 "SQL에 대한 aspect 지향 확장을 향해 AO4SQL"다운로드 할 수 있습니다 당신은 오픈 소스 프로젝트에 참여할 것입니다 ... 나와 연락하십시오.

관련 문제