Showing posts with label network. Show all posts
Showing posts with label network. Show all posts

Monday, March 26, 2012

Report Viewer to Get Data from RS Deployed on separate Network.

Hi,

I am using Reporting Services in the following way. The application implements a three tier Architecture viz Web Server, Application Server and Database Server. Reporting Services 2005 is installed on the Database Server.

The application uses ReportViewer Control which is part of an ASPX page deployed on the Web Server. For ReportViewer Control to fetch data from Reporting Services using RS API, we have to set ReportServerUrl and Report Path. In this scenario, the web server cannot communicate to the database server directly. The web server is in the DMZ and it can only communicate with the Application Server which is in a separate Network.

How can I use Report Viewer Control to fetch data from Reporting Services which is on the Database Server.

Thanks & Regards,

Rajiv

I am afraid you won't like the answer but the Report Viewer control assumes a direct connection to the Report Server web service. It looks like in your situation, you need to install RS on the application server. A split deployment scenario is also an option (RS middle tier on the application server, while the catalog is on the database server) but you will need two licenses. Finally, in case you wan't to get innovative, try implementing an HttpHandler on the application server that would intercept SOAP and URL requests generated by the ReportViewer and forward them to the database server. I haven't done this but it should be possible. If you decide to try the last option, please post your findings here.|||

Hi,

Thanks for your reply. I am working on the approach that you have suggested. I have created an HttpHandler which is deployed as an Application Gateway on the Application Server. In the process request method of HttpHandler I am using HttpContext to get the current request and create a new request to the reporting server.

I am using windows XP, IIS 5.1. , Microsoft Visual Studio 2005 and Asp.net 2.0.

Scenario : Request an ASP.NET Page from the Webserver... which in turn makes a new request using HttpHandler which invokes Reporting Server.

"abc.aspx" page includes report viewer control. This page is deployed on the web server. The following properties are set for ReportViewer Control.

ReportVwrObj.ServerReport.ReportServerUrl = HTTPHandlerURL;

ReportVwrObj.ServerReport.ReportPath = ConfigurationManager.AppSettings["WebReportResults"].ToString ( ); //report file name and path.

Using Http Handler : I was able to sucessfully create a new request once i get the request from web server........However, I came across few issues related to Response.

Below is the sample code implemented in the ProcessRequest Method of HttpHandler.

public void ProcessRequest ( HttpContext context )

{

context.Response.ContentType = "text/plain";

//Url Request

RequestURL = "http://MahineName/reportserver";

///create the web request to get the remote stream

HttpWebRequest objRequest = ( HttpWebRequest ) WebRequest.Create ( RequestURL );

//objRequest.Credentials = CredentialCache.DefaultNetworkCredentials;

NetworkCredential nt = new NetworkCredential ( "Username", "Password", "Domain." );

objRequest.Credentials = nt;

objRequest.KeepAlive = false;

boolException = false;//clear exception

objResponse = ( HttpWebResponse ) objRequest.GetResponse ( );

if ( ( objResponse.ContentType.ToLower ( ).IndexOf ( "html" ) >= 0 ) || ( objResponse.ContentType.ToLower ( ).IndexOf ( "javascript" ) >= 0 )

||( objResponse.ContentType.ToLower ( ).IndexOf ( "xml" ) >= 0 ) )

{

//this objResponse is HTML Content, so we must parse it

StreamReader objReadStream = new StreamReader ( objReceiveStream, Encoding.Default );

//Uri test = new Uri(strRemoteUrl);

strContent = "";

strContent = objReadStream.ReadToEnd ( );

context.Response.ContentType = objResponse.ContentType;

context.Response.Flush ( );

context.Response.Write ( strContent );

///close streams

objReadStream.Close ( );

objResponse.Close ( );

}

context.Response.End ( );

}

In the above code, I have created a new httpwebrequest to forward the request to the reporting server. For the newly created request i get the response and flush it . I came across the below error while following this approach.

  • Response is not well-formed XML.
  • Data at the root level is invalid. Line 1, position 1.
  • Any Clue on this ?

    |||Use a listener such as tcpTrace or SoapUtil to capture the request from the HttpHandler by redirecting to http://MahineName:8080/reportserver. It looks like the XML got distorted or something.
  • Friday, March 23, 2012

    Report Viewer access permissions problem

    Hi,
    I have a Report Viewer intergrated in my application and deployed on server. When I try to access that from internet it says Network/Service account has not enough permission to run that task. Any idea how to give rights to SQL Server 2005 Service account to run reports from internet.

    Thanks

    add the NT AUTHORITY\NETWORK SERVICE as USER to your db|||

    Hi,

    Thanks for the reply

    I already added NT AUTHORITY\NETWORK SERVICE as user for DB but when loading report from web page that its says that NT AUTHORITY\NETWORK SERVICE dont have enough permission to run that task for report viewer. Please any idea

    Thanks

    sql

    Wednesday, March 21, 2012

    Report Viewable by everyone on network

    I have a report that I want everyone who has credentials on the network to be able to view.

    We use Active Directory, (I am not an AD administrator), so I *assume* there is an active directory security group that everyone belongs to. If so, then making this report avaiable to everyone should be as simple as granting the *everyone* security group "browse" rights on the folder containg the report.
    Is there another way to set such a low level of security in Reporting Services?

    Thanks in advance

    Doug

    www.cooltimbers.com

    "Art for your soul!"

    You should be able to use the "Everyone" SG. I don't know of any other easy way to do this.sql

    Wednesday, March 7, 2012

    report server in the network

    I have a computers network with server.

    in the server the report services work good.

    the problem is with the other computers
    in the other computers I got an error
    http://img2.tapuz.co.il/forums/1_91462227.jpg

    just one computer show the report, but this computer have SQL SERVER.

    the url to the report is:

    http://myServerName/reportServer....

    what I need to do for work with the report services in a local network.

    thanks,
    (and sorry on my english )

    You could try looking in the reporting services log files to see what the error was.

    You say the one server that it works for has SQL server installed. Does your report refere to any connections/data items as "localhost"?

    |||I will try again.

    for example I have 7 computers.
    one from them is server.

    in the server I can open the report by 2 ways.
    1) http://localhost/ReportServer/....
    2)http://myServerName/ReportServer.

    in another computer (that has SQL server installed) I wrote:
    http://myServerName/ReportServer.

    and its work OK.

    But in all the other computers in the network (the 5 computers) it doesn't work.

    I want to know what I need to do for work the Report server in the other computers,

    any idea or links will be helpful.
    thanks|||

    OK, let me try again.

    On your server, check out the directory where reporting services is installed for a LogFiles directory. On my machine this is C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\LogFiles

    In there you will find some text files that the report server writes any messages to. Can you check the contents of the files and post any errors you find in there please?

    The point is without more information it's difficult to diagnose the exact problem. Details such as operating system version, IE version on the client machines, customisation of IE security options on the client, web server security setup (annonymous or windows integrated authentication mode?) as well as a host of other things could all be at fault here.

    Saturday, February 25, 2012

    Report server cannot open a connection to the report server database

    I am getting the following error, when trying to deploy. the report should point to a server which is in my network, but the report is on my machine. where i am trying to deploy locally but point to a different machine.

    ******************************************************

    The report server cannot open a connection to the report server database. A connection to the database is required for all requests and processing.

    ***********************************

    Thank you very much for the information.

    Within Business Intelligence Development Studio, open your report project and select '-ProjectName- Properties' from the Project menu (should be at the bottom of the menu). Does the TargetServerURL show http://NetworkServerName/ReportServer or does it show http://localhost/ReportServer?

    Jarret

    |||

    Jarret,

    That was my mistake i recently changed my systems password, that did'nt get updated for the services.

    so the services are not running, i had to go to each service and update the new password, and started all of them and then the sql sderver with reporting services all are up.

    Thanks.