2013-10-21 5 views
1

우리는 사용자가 마주 치게되는 오류를 기록하기 위해 ELMAH 모듈을 사용하는 MVC 응용 프로그램을 보유하고 있습니다.ELMAH에게 DB 개체가 새 스키마 아래에 있다고 말하면 어떻게됩니까?

DBA는 ELMAH 테이블과 저장 프로 시저를 데이터베이스의 새 스키마로 이동했습니다. 이제는 기본 ELMAH 페이지가 'ELMAH_Error'대신 'Foo.ELMAH_Error'아래에 있으므로 ELMAH 저장 프로 시저 및 테이블에 액세스하지 못하고 있습니다.

테이블이 새로운 스키마에 존재 함을 ELMAH 모듈에 알리는 방법이 있습니까?

답변

1

결국 ELMAH procs & 테이블에 대한 전체 액세스 권한을 가진 사용자를 새로 만들어서이 기능을 사용할 수 있습니다. 사용자의 기본 데이터베이스를 새 스키마로 설정했습니다.

이 솔루션은 효과가있는 것으로 보입니다.

1

다음과 같이 ELMAH 관련 개체의 동의어를 만들 수 있습니다. 다음은 SQL Server에 대한 것입니다. 다른 데이터베이스를 사용하고 있지만 구문을 약간 변경해야하는 경우 비슷한 변경 사항을 적용 할 수 있습니다.

Create synonym ELMAH_Error for [YourSchema].ELMAH_Error; 
Create synonym ELMAH_GetErrorsXml for [YourSchema].ELMAH_GetErrorsXml; 
Create synonym ELMAH_GetErrorXml for [YourSchema].ELMAH_GetErrorXml; 
Create synonym ELMAH_LogError for [YourSchema].ELMAH_LogError; 

이렇게하면 ELMAH log to sql이 평소와 같이 작동합니다.