2009-08-12 2 views
0

나는 하루 종일 SQL보고 서비스 보고서를 실행하는 작업을 위해 프로젝트 작업을하고 있습니다. 나는이 과정을 자동화하고 꽤 진행되고있다. 페이지로 이동하여 원하는 내용을 검색하고 파일의 출력을 선택하고 내보내기를 클릭 할 수 있습니다. 내가 겪는 문제는 파일 형식이나 MIME 설정에 관계없이 팝하는 파일 다운로드 대화 상자입니다. 나는 AutoIt 기능을 사용하여 그 주위를 돌아 다닐 수 있지만 그 최상의 상태는 벗겨 낼 수있다. 파일을 특정 위치로 다운로드하고 싶습니다. 내 질문 .. 거기에 수출 단추를 클릭하고 파일에 어떤 종류의 링크를 얻을 가로 챌 수있는 방법이 있나요? 아니면 링크를 ASP에서 프로그래밍 방식으로 실행하고 파일을 그런 식으로 잡는 방법이 있습니까? (용어가 ASP에 익숙하지 않은 경우 죄송합니다.)IE 자동화 및 SQL보고 서비스 C#

편집 ... 구독과 같은 서비스를보고하는 데 더 좋은 방법이 있다는 것을 알고 있습니다. (응답 btw : 감사합니다) ...하지만 관리자가 될 때까지 붙어있는 것입니다. 몇 가지 문제를 해결할 수 있습니다. 회사에 가면 약 20 개의 다른 부서가 개입하며 대부분 고정 될 가능성이 높습니다. 하지만 궁극적으로 내 질문은 C#에서 묻는 무엇을 할 수 있는지 여부입니다. 내보내기를 클릭하고 파일을 가져올 때 코드가 나를 보내는 곳을 가로 챌 수 있습니까? 그게 가능한가?

답변

0

SSRS에 대한 액세스 권한은 얼마입니까? 꽤 많은 수의 블랜치를 얻을 수 있다면 SSRS가 특정 위치로 간격을두고 보고서를 내보낼 수 있도록 설정할 수 있습니다. SSRS가 해당 위치에 도달 할 수없는 경우 SSRS를 설정하여 보고서를 이메일로 전송할 수 있습니다. 여기에서 이메일 덤프를 쉽게 찾을 수 있습니다. 어느 쪽이든, "자동 클릭 OK"화면 긁기 UI 자동화보다 나은 각도가 있습니다.


웹 서비스를 살펴 보겠습니다. 그들이 일정을 올바르게 잡을 수 없다면 아마 그 중 하나를 끄지 않을 것입니다. 서비스에서 보고서를 빨아 들이기 위해 커맨드 라인 앱을 설치하면 인생은 웅장해질 것입니다.

+0

더 좋은 방법이 있습니다. 그러나 이것이 내가 붙어있는 것입니다. 관리자가 아니며 일정과 같은 일부 기능이 올바르게 작동하지 않습니다. 나는 그것이 10 년 동안 언제든지 고쳐질 것이라고 생각하지 않는다. –

0

왜 보고서 스케줄링 기능을 사용하여 자동화하지 않는 것이 좋을까요? 보고서에 대한 구독을 입력 할 수 있으며 일정에 따라 배달 할 수 있습니다. SSRS는 이메일과 파일 공유라는 두 가지 전달 방법을 제공합니다. 나만의 맞춤 배송 확장 프로그램을 작성할 수도 있습니다.

+0

그건 내 첫 번째 아이디어 였어. 서버의 보안 문제가 있으며 가장 (impersonation) 오류가 발생합니다. 내가 그것을 고치기까지 관리자가 이걸 붙잡을 때까지. –

+0

보고서에 대한 특수 자격 증명이있는 데이터 집합으로 보고서를 설정할 수 있습니다 (예 : 통과 Windows 인증이 아닌 SQL Server cerdentials 사용) –

0

마치 외부에서보고 서비스를 처리해야하는 것처럼 들립니다. 아마도 WinBatch가 창과의 스크립트 상호 작용을 도와 줄 수 있을까요? http://www.windowware.com/

1

보고 서비스 서버에 대해 URL 액세스를 직접 사용할 수 있는지 확인하십시오 (http://msdn.microsoft.com/en-us/library/ms153586.aspx).

웹 응용 프로그램을 수정할 수있는 경우 ReportViewer.ExportContentDisposition (http://msdn.microsoft.com/en-us/library/microsoft.reporting.webforms.reportviewer.exportcontentdisposition.aspx)의 값을 "AlwaysInline"으로 변경해보십시오. 또는 ReportViewer.ServerReport 또는 ReportViewer.LocalReport의 Render 메서드 (http://msdn.microsoft.com/en-us/library/ms252199.aspx)를 사용하여 Response OutputStream으로 렌더링 할 수 있습니다.

그렇지 않으면 IE Developer Tools (IE8의 F12)를 사용하여 ReportViewer의 IFRAME에서 JavaScript를 들여다 봐야합니다. 선택한 형식으로 보고서를 렌더링하려면 서버에 추가 콜백을 수행해야합니다. 이 스크립트가 수행하는 작업을 적용하십시오.