2013-05-31 1 views
0

LastUpdateDateLastUpdateUserId 인 모든 테이블에 두 개의 열을 추가해야합니다. Entity Framework를 사용하지 않고 Stored Procedures에서 모든 CRUD 작업을 수행합니다. 내 문제는 내가 150 개 이상의 저장 프로 시저를 가지고 있고 150 개의 저장 프로 시저와 프로젝트 저장 프로 시저에 대한 참조를 변경하는 데 많은 시간이 걸린다는 점입니다.데이터베이스 서버에 연결 문자열과 함께 선택적 값 보내기

LastUpdateUserId 열이 없으면 표에 업데이트가있을 때 LastUpdateDate 값을 삽입하려면 트리거를 사용합니다. 그러나 LastUpdateUserId은 상황을 혼합합니다.

그래서 무엇을 제안합니까? 연결 문자열을 사용하여 선택적 값을 보낼 수있는 방법이 있습니까? 그렇다면 저장 프로 시저에서 값을 가져올 수 있습니까?

+0

연결 문자열에 SQL 또는 Windows 인증을 사용하고 있습니까? –

답변

1

우리는이 목적으로 워크 스테이션 필드를 남용했습니다. 특정 사용 사례를위한 것이 었습니다.

그러나 각 사용자의 연결 문자열을 변경하면 연결 풀링이 제공하는 모든 이점을 잃게됩니다.

모든 사용자에게 동일한 로그인을 사용하는 경우 실제로는 내 procs를 변경하는 것이 유일한 방법입니다.

각 사용자마다 고유 한 로그인 정보가있는 경우 다른 사용자가 지정한대로 해당 값을 얻을 수있는 SQL이 있습니다.

1

Windows 인증을 사용한다고 가정하면 SUSER_SNAME() 또는 ORIGINAL_LOGIN()을 사용하여 현재 사용자의 로그인 이름을 가져올 수 있어야합니다. 일반적으로 도메인 이름이 포함됩니다.

또는 연결 문자열의 "Application Name" 속성을 악용하여 APP_NAME() 기능을 사용하여 검색 할 수 있습니다.

관련 문제