2013-08-13 2 views
16

필자는 모든 캐싱을 비활성화 했음에도 불구하고 캐시 된 데이터를 어떻게 든 보여주는 라이브 보고서를 가지고 있습니다. BIDS 쿼리 편집기에서 쿼리를 실행하면 현재 데이터가 표시됩니다. 그러나 BIDS 미리보기 과 실제 배포 된 보고서에 여전히 오래된 데이터가 표시됩니다.내 SSRS 보고서에 이전 데이터가 표시되는 이유는 무엇입니까?

보고 웹 사이트의 보고서 속성에서 캐싱 된 보고서를 토글 링하려고 시도했지만 IIS HTTP 헤더 속성에 들어가서 '만료 즉시'로 설정했습니다. 이전에 BIDS 미리보기 창에서이 문제를 보았습니다. 보고서 정의 (이 보고서는 여러 번 삭제/새로 고침 됨)에 저장된 .data 파일로 인해 생생한 보고서를 보지 못했습니다.

누락 된 다른 캐시 옵션이 있습니까?

편집 : 보고서에는 사용자가 선택한 매개 변수가 있습니다. 캐싱이 활성화되어 있어도 매개 변수가 최신 데이터를 사용하게 만드는 인상을 받고 있었기 때문에 더욱 복잡해졌습니다. 위의 옵션을 ReportManager를 통해 처리 옵션에서 선택하는 경우

+0

IE도 데이터를 캐시합니다. alt-refresh 또는 다른 브라우저를 사용하십시오. – SQLMason

답변

0

항상이 보고서의

  1. 더블 체크를 임시 복사본을 캐시하지 마십시오 가장 최근 데이터로이 보고서를 실행합니다.
  2. 데이터 집합에서 현재 데이터를 쿼리하고 있는지 확인하십시오.
  3. 보고서를 새로 고칩니다.

매우 이상합니다.

+0

참으로 이상한 - 나는 위의 모든 시도했지만 아무도 어떤 영향을 미쳤다. – Kon

1

보고서에서 보고서의 데이터 소스를 삭제 한 다음 다시 작성하면 BIDS 환경에있는 모든 캐시 된 데이터 이 제거됩니다. 그러나 배포 된 보고서에서 이와 같은 행동을 본 적이 없습니다.

SSRS 서버에서 공유 데이터 소스를 삭제 한 다음 다시 배포 할 수 있습니다. 비슷한 새로 고침이 발생할 수 있습니다. 그러나 배포 된 보고서가 프로덕션 환경에있는 경우 필자는 이렇게 극단적으로 뛰어 들지는 않습니다.

29

SSRS의 개발 모드에서는 보통 report_name.rdl DATA 파일을 삭제합니다. 데이터가 마지막 실행에서 보관 된 것입니다.

원본 데이터와 마지막으로 실행 한 보고서를 변경하면 이것이 내 문제라는 것을 알아 냈습니다.

+0

당신은 report.rdl.DATA 파일 또는 .rdl 파일을 의미합니까? – Steam

+2

Steam, report.rdl.DATA 파일을 삭제 해보십시오. 다음 실행은 report.rdl.DATA 파일의 내용을 사용합니다. 때로는 SSRS 응용 프로그램을 종료해도 도움이됩니다. – Nagshead

+0

감사합니다. 그러나 프로젝트 폴더 어디서나 .DATA 파일을 찾지 못했습니다. 이게 정상인가? – Steam

2

SSRS 2010에서 VS를 사용하면 미리보기 모드에서 이전 데이터 만 표시된다는 것을 발견했습니다. 데이터 집합 쿼리에 가서 새로 고침을하면 새 데이터가 확인되고 미리보기에 새 데이터가 표시됩니다. 이것은 성가신 일 이었지만 배포 된 보고서가 스스로 새로 고쳐질 것이라는 것을 이해했습니다. 나는 더 성가신 배포 된 보고서를 볼 수있는 권한이 없으므로이 이론을 증명할 수 없습니다. 어쨌든 여러 게시물에서 몇 가지 힌트를 취하고 보고서 속성의 AutoRefresh 속성을 0에서 1로 변경했습니다. 그런 다음 미리보기 모드로 전환하면 보고서가 업데이트되었지만 매 1 초마다 계속 업데이트되었습니다. 이제 저는 그 속성이 어떻게 동작 하는지를 1000000으로 설정합니다. 이것은 미리보기로 처음 갈 때 한 번 새로 고침을 한 다음 다시 1000000 초가 지나면 미리보기 모드에서 빠져 나와 보고서를 작성하게됩니다. 더. 나는 이것이 배치 된 보고서에 어떻게 영향을 줄지는 모르지만 생각했던 것과 거의 동일합니다. 어쩌면 배포 된 보고서에 액세스 할 수있는 다른 사람이 조언 할 수 있습니다.

+0

그래도이 문제의 원인을 파악할 수는 없지만 배치 된 보고서에서 왜 이런 일이 일어나는지 올바른 이유를 찾아내는 동안 귀하의 접근 방식은 그 트릭을 수행했습니다. 고마워! –

0

많은 사람들이이 작업을 잊어 버리며 .rds 파일이 항상 최신 상태인지 확인하십시오. SSRS에서 보고서와 함께 "공유 데이터 원본"및 "공유 데이터 집합"을 다시 빌드하고 다시 배포하십시오.

  1. "공유 데이터 원본"및 "공유 데이터 세트"(.rds) 파일을 선택하십시오.
  2. "빌드"를 마우스 오른쪽 버튼으로 클릭하십시오.
  3. 마우스 오른쪽 버튼으로 클릭하고 "배포"를 클릭하십시오.

이제 호스트에서 보고서를 다시 실행하십시오.

2

이러한 옵션 중 아무 것도 작동하지 않습니다. 그런 다음 데이터 원본 속성에서 "쿼리를 처리 할 때 단일 트랜잭션 사용"을 선택하고 미리보기를 최신 데이터로 실행하기 시작했습니다.

0

이렇게하면 보고서 작성자가 현재 데이터를 표시하는 경우에도 이전 데이터 표시를 찾는 사람에게 도움이 될 수 있습니다.

나는 또한 기존 라이브 보고서에서 이와 같은 문제에 직면하고 있습니다. DB 측에서 데이터를 업데이트했습니다. 그러나 변화는 효과가 없다. 나는 여러 번 상쾌하게했다. 여전히 오래된 데이터를 보여줍니다. 나중에 보고서에 대한 '보고서 기록보기'를 클릭 한 것으로 나타났습니다. [보고서 이름에 마우스를 가져 가면 아래쪽 화살표를 클릭하면이 옵션이 표시됩니다. 보고서 기록 페이지의 왼쪽에 '처리 옵션'으로갔습니다. 사용 가능한 두 가지 라디오 옵션이 있습니다.

  1. 는 항상 보고서 스냅 숏 불행하게도

에서이 보고서를 렌더링 가장 최근의 데이터

  • 이 보고서를 실행, 내 보고서는 POINT2의 선택을했다. 매일 오전 7시에 예정되어 있습니다. 그래서 오전 7시 이후에 우리가 어떤 변화라도하면 즉시 볼 수 없었습니다. 우리는 다음날 스냅 샷을 기다려야합니다. Bt, 가장 최근의 데이터를 가져올 Point1을 선택하여이를 변경할 수 있습니다.

    희망이 있으면 SSRS 보고서를 보류하는 사람에게 도움이 될 수 있습니다.

    감사합니다, Viswa V.

  • 15

    이전 게시물,하지만, 난 여전히이로 실행이 쉽게하기 위해 외부 도구에서 옵션을 넣어하는 방법에 대한 기사를 발견했다.

    1. 도구> 외부 도구 ...로 이동하십시오.
    2. 는 다음과 같은 설정으로 새로운 도구를 추가
      • 제목 : 클리어 보고서 데이터 캐시
      • 명령 : "%WinDir%\System32\cmd.exe"
      • 인수 : /C DEL /S /Q "$(SolutionDir)\*.rdl.data"
      • 확인 옵션 : 종료
      • 닫기 출력 창 &를 사용하여

    요즘 u는

    전체 기사 여기> 지우기 보고서 데이터 캐시, 보고서 데이터 캐시를 삭제 단지 도구에 가고 싶다 : http://jasonfaulkner.com/ClearDataCacheBIS.aspx

    관련 문제