2010-06-03 2 views
1

우리는 Asp.net 웹 응용 프로그램에서 RDLC를 사용하고 있습니다. 이해가 안되는 이유로 데이터베이스 서버에 대한 첫 번째 호출이 실패하고 다음 오류가 발생합니다.Asp.Net 가장은 처음에는 실패하지만 두 번째는 성공합니다

An error has occurred during report processing. Cannot open database "TryParkingIt2" requested by the login. The login failed. Login failed for user 'EXTRANET\OurServerNameHere$'.

보고서를 다시 실행하면 작동합니다.

허?

업데이트 처음 버튼을 클릭하면 실패합니다. 버튼을 다시 클릭하면 작동합니다. 가장 된 계정은 도메인 계정입니다. 또한이 오류는 다섯 개의 다른 보고서 페이지에서 발생하므로 어떤 코드도 포함되지 않았습니다.

+0

동일한 가장 컨텍스트 내에서 첫 번째 호출과 두 번째 호출을 언급하고 있습니까? 같은 방법으로? 동일한 페이지 요청 내에서? –

+0

명의를 도용하는 방법을 알려줄 수 있습니까? –

+0

1) 성공하면 SQL에 연결하는 데 어떤 ID가 사용됩니까? SQL 프로파일 러에서이를 볼 수 있습니다. 2) SQL 인증보다 통합 된 인증을 선호하는 이유가 있습니까? –

답변

1

정적 생성자 또는 실패한 global.asax 코드를 찾으십시오. 그것들은 응용 프로그램이 시작될 때 한 번만 실행됩니다 (실제로 정적 생성자는 클래스에 처음 액세스 할 때 실행 됨). 그래서 처음에는 실패가 발생하고 이후에는 모든 것이 잘 작동하는 것처럼 보입니다. 정말 백그라운드에서 체포).

현재로서는 정적 생성자를 피하는 것이 좋습니다.