2009-06-03 4 views
2

PHP 5.2.9 및 MS SQL Server 2005를 사용하여 웹 사이트를 디자인하고 있습니다. SSRS 보고서가 있는데 인터넷에있는 사람들이 액세스 할 수 있도록 설정하고 싶습니다. 사용자 이름과 비밀 번호,하지만 그 부분을 알아낼 수 있습니다).인터넷 직면 SSRS 보고서

웹 사이트는 웹 서버에 로컬로 호스팅되며 데이터베이스는 별도의 서버에 있습니다. 아직 SSRS 인스턴스를 설정하지 않았습니다.

그래서이 좋지 않을까하는 방법을 파악에 도움이 (가 조금 asp.net (이것을 해결하기

+0

누군가 Google 코드에 함께 묶은 좋은 SDK가 있습니다. 대부분이 당신을 위해 일합니까? http://code.google.com/p/php-ssrs/ –

답변

0

글쎄, 나는 전체 내용으로 마이크로 소프트의 문서를 발견했다. here. 나는 그것을 기르고 지금 실행하고있어서 행복하다. 완벽하기 위해서는 웹 서버와 나머지 네트워크 사이에 다른 방화벽이 필요합니다.

+0

내가 쓴 이것에 대한 블로그 : http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/internet-facing-reporting-services-insta – DForck42

5

간단한 방법을 통해 변경할 너무 늦게 게임에서 것은 무엇 MS 통화로 보는 것입니다 . 당신은 SSRS 설치에 URL 액세스 모든 매개 변수를 사용자 정의 할 수있는 방법이 많이 호스팅 보고서에 연결할 수 있습니다 "URL 액세스"

여기에 살펴 보자. URL Access

간단한 예 :

http://<Server Name>/reportserver?/Sales/YearlySalesByCategory&rs:Command=Render

위의 링크를 누르면 정상적인 페이지처럼 웹 브라우저에서 보고서가 렌더링됩니다. PDF와 같은 다른 렌더링 모드를 지정할 수도 있습니다. 내 응용 프로그램에서 일반적으로하는 일은 사용자가 보고서를 참조하는 링크를 클릭하고 렌더링 모드를 PDF로 설정하는 것입니다. 그런 다음 모든 보안 및 인증 코드를 감쌀 수 있으므로 사용하지 않으려는 코드에서 멀리 떨어져있게됩니다.

+0

단일 바이너리 보고서 형식에서는 작동하지만 HTML에서는 작동하지 않습니다. – cdonner

+0

cdonner : 내가 너를 따라 가지 않기 때문에 당신이 의미하는 바를 설명해야 할 것입니다. – TheTXI

+1

TheTXI : 웹 페이지에 보고서 링크를 포함하려는 경우 클라이언트는 인증해야합니다. 이는 공개 사이트에서 실용적이지 않습니다.서버가 보고서 서버에 HTTP 요청을 보내고 첨부 파일 (서버에서 인증을 처리 할 수 ​​있도록 함)로 결과를 다시 스트리밍해야한다는 것을 의미하고 이것이 HTML 스트림 인 경우 이미지 참조가 포함됩니다. 브라우저가 해결할 수 없습니다. 이러한 참조는 서버에서 즉시 변경해야하며 이미지 요청을 처리하고 RS로 리디렉션 할 수있는 다른 구성 요소가 있어야합니다. – cdonner

3

최선의 방법은 SSRS 웹 서비스 인터페이스를 사용하는 것입니다. ASP "프록시"를 통해 요청을 퍼널 할 수 있습니다. PHP에서 클라이언트를 처음부터 작성하는 것은 바람직하지 않을 것입니다. (이것에 대한 준비된 구성 요소를 찾지 않은 한, 조사하지 않았습니다). 프록시 클래스는 .Net (see here)에서 쉽게 사용할 수 있습니다. 프록시 클라이언트는 "서비스 계정"으로 인증 할 수 있습니다.

또는 SSRS URL 인터페이스를 사용할 수 있습니다. SSRS 1.0에 대해서는 오래전에 Java proxy이라고 썼습니다. 기본 접근법은 아마도 여전히 유효합니다.

보안 통합이 이루어지는 한, 사용자가 AD 도메인에 있는지 여부에 따라 다릅니다. Windows 통합 보안 이외의 다른 모델을 통해 RS로 인증하는 것은 간단하지 않으며 사용자 정의가 필요합니다.

+0

나는 그것을 다루고 싶지는 않지만 if PHP 전용으로 설정되어 있으면보고 서비스 서비스는 SOAP 웹 서비스이므로 PHP SOAP 스택을 이론적으로 사용하여 인터페이스 할 수 있습니다. –

+0

내가 말하고자하는 것은 .NET 용 SOAP 프록시를 다운로드하여 바로 사용할 수 있다는 것입니다. 그것은 모든 것을 처리합니다. 가능한 경우 Thirster42는 보고서 제공을 위해 단일 페이지로 구성된 병렬 ASP 사이트를 표시 할 수 있습니다. 이것은 확실히 작동하는 가장 빠른 방법입니다. – cdonner

+0

당신이 나를 도울 수 있는지 확인해 주시겠습니까 http://stackoverflow.com/questions/22259178/uncaught-soapfault-exception-wsdl-soap-error-parsing-wsdl –

0

제안 된대로 웹 서비스를 사용하지만 SSRS 서버를 인터넷에서 숨기십시오.

SSRS와 SharePoint는 인터넷에서 안전하지 않습니다. 당신이 사회적으로 하나를 알고 있다면 맥주를 통해 MS 컨설턴트에게 물어보십시오.

+0

나는 어떤 것을 모른다 ... – DForck42