SQL Server 2005 Reporting Services and the Report Viewer - sql

I am having an issue embedding my report into an aspx page.
Here's my setup:
1 Server running SQL Server 2005 and SQL Server 2005 Reporting Services
1 Workstation running XP and VS 2005
The server is not on a domain.
Reporting Services is a default installation.
I have one report called TestMe in a folder called TestReports using a shared datasource.
If I view the report in Report Manager, it renders fine. If I view the report using the http ://myserver/reportserver url it renders fine. If I view the report using the http ://myserver/reportserver?/TestReports/TestMe it renders fine. If I try to view the report using http ://myserver/reportserver/TestReports/TestMe, it just goes to the folder navigation page of the home directory.
My web application is impersonating somebody specific to get around the server not being on a domain. When I call the report from the report viewer using http ://myserver/reportserver as the server and /TestReports/TestMe as the path I get this error:
For security reasons DTD is prohibited in this XML document. To enable DTD processing set the ProhibitDtd property on XmlReaderSettings to false and pass the settings into XmlReader.Create method.
When I change the server to http ://myserver/reportserver? I get this error when I run the report:
Client found response content type of '', but expected 'text/xml'. The request failed with an empty response.
I have been searching for a while and haven't found anything that fixes my issue. Please let me know if there is more information needed.
Thanks in advance,
Kendra

There are two virtual directories of interest with SSRS.
http://myserver/reportserver is where the web services are.
http://myserver/reports is where the Report Manager interface is.
http ://myserver/reportserver?/TestReports/TestMe works because you're going to the web services and passing in a parameter of the 'address' of the report you want. Notice the ? in there, indicating that the rest is a querystring parameter
http ://myserver/reportserver/TestReports/TestMe is trying to go a subdirectory of the virtual directory, which doesn't really exist.
To get your system working using anonymous access, you'll need to tell IIS to be running your website's application pool as a known user, which has sufficient permission to view the report. You can set this up in Report Manager (http://myserver/reports).
See how you go - good luck.

Related

Create data source in Report Builder 3.0 to a data cube using "current windows user" credentials

I have Report Builder 3.0 installed on my local PC. I am creating a new report and adding an embedded data source to a SQL Server Analysis Services database.
When I build the connection string of the data source, choosing the server name and the database name, I click 'Test Connection' and receive a message saying "Test connection succeeded". So far, so good.
I close the connection properties with the OK button, and on the Data Source Properties window I click the 'Test Connection' button. This time I get an error saying "The connection either timed out or was lost".
If I ignore the error then I can successfully add a dataset to my report and add data from the dataset in to the report design, but when I try to run the report (on my local PC) I again get an error connecting to the data source.
My best guess is that the connection that succeeded is running under my credentials, whereas the connection that fails is running as some other credential and so needs to use Kerberos delegation to pass my credentials along, but that is only a guess and even if I am correct I am at a loss to understand how to fix the issue - I don't know what other credentials may be being used and I have already set SPN's for the Analysis Services service account.
So it turns out that it was a Kerberos issue as I suspected, and I was also correct that Report Builder was testing the connection using some process running under another authentication context.
It turns out that when setting up Report Builder (and I had forgotten it) that you specify a default SSRS Report Server (see screenshot). It must be that when testing data sources or running reports that it connects to that default Report Server and does the work from there - I was assuming that everything was running locally!
Once I figured that out it was just a case of finding a good guide on how to configure SSRS for Kerberos and everything started working. In my case the only bit that I hadn't already done was to add the <RSWindowsNegotiate/> setting to the AuthenticationTypes in the rsreportserver.config file

reporting server error in IE browser

Using server server 2008 r2 and vs08 i use SQL reporting services and i also install iis so when i deploy reports it show me like this
Deploying to http://localhost/ReportServer
Error rsServerConfigurationError : The report server has encountered a configuration error.
Deploy complete -- 1 errors, 0 warnings
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========
and when i go to this url http://localhost/ReportServer in IE(Internet Explorer ) then it show me like this in browser
pic IE
where problem occurred and how i resolved this problem
i try so many times to deploy errors but in every time any error must come ..ughh :(
You may want to see if SSRS will resolve 'localhost' correctly. There are a few things to think about deploying to SSRS as well.
You need to be a role under the SSRS site that allows deployment. You can try all day and if your 'Role Assignment' is not 'Publisher' or 'Content Manager' for your domain user/user or applicable group in a domain you will not be able to publish.
SSRS resolves to fully qualified paths and any breaks in names or leaving a report folder blank could potentially cause issues. When you are in Business Intelligence Development Studio(BIDS in Visual Studio), your project's 'properties' must be configured correctly and for the correct version of SSRS you are deploying to.
Check the SSRS Config tool for what it shows the service to be at qualified. Generally it is:
http:// (servername)/ReportServer
NOT
http:// localhost/ReportServer
I wrote up a pretty thorough answer to this on another thread.
How SSRS deployment works?
Did you make any changes to the reporting services config files?
C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer
Is ReportManager working ok?
Have you another ReportServer that you can deploy to?
If it deploys elsewhere ok, I would re-install reporting services
I have red that you have IIS and SSRS Server on the same machine. The standard port for both is 80, perhaps it would worth a try to change the port for SSRS to a different value. (Reporting Services Configuration Manager -> Web Service URL -> TCP Port and Report Manager URL -> Advanced -> Edit -> TCP Port)

"Unable to Connect to the Remote Server" when connected via .NET ReportingService web service call

I have reporting services running on SQL Server 2008 inside the domain. I'm able to hit http://localhost/reportserver without error. I can hit the same site from the web box (also in the domain name) using the internal ip of the DB box (192.169.X.X/ReportServer/ReportService.asmx.) I've looked in the SSRS logs and I see these hits being properly recorded, no errors.
However.. I have a website that uses the .NET ReportingService class to make a connection to SSRS. Using the same credentials as before, I get "Unable to connect to the remote server."
I've checked, there's no firewall active. Quadrupled checked the config in the web site to make sure it has the proper credentials and service URL for SSRS. There are also no hits in the SSRS logs when I'm trying to connect via .NET, so something is most certainly blocking access.
I've Googled my fingers bloody, and would seriously love some help. I'm sure it's some small thing, I just can't think of it.
The following change worked for me:
Remove the SSL configuration
1.1. Reporting Services Configuration Manager;
1.2. Web Service URL (click on Advanced button and then remove the SSL configuration);
1.3. Report Manager URL (click on Advanced button and then remove the SSL configuration);
Edit the file rsreportserver.config, normally it's in the path C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\
2.1. find out the Key SecureConnectionLevel;
2.2. change the Key's value from "2" to "0";
Could be your reporting services is exposed only to the private ip and your localhost. Try setting your domain name's static ip to the configuration. I've added a SSRS Url configuration link for your quick reference.
The following worked for me:
1. Remove the SSL if configured.
2. Go to C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config
3. In rsreportserver.config Change the SecureConnectionLevel value from "2" to "0"
The following worked for me: I Removed the SSL and set it to 0 vs 2 in the path
G:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer file is reportserver.config file.
Basically it was previously configured with SSL at port 443 but the server has been moved to another domain, and did not know where to go to get a new SSL certificate for this domain,
So i removed the SSL config in the reporting services configuration GUI and then remove it also in the reportserver.config file.
Make sure your report URL ends with /Reportserver/ (For the purpose of .NET code calling). Also keep in mind that you should use complete URL i.e. It should include servername and domain.
Check this link
I like the other solutions however in my instance I had to update the following. For some reason or another the service wasn't able to use 127.0.0.1, localhost, or any of the other IP addresses assigned to the computer, this method however worked.
Open "Report Server Configuration Manager"
Web Service URL
Click on Advanced Button
Click the IP entry that I wanted to edit.
Click "Host Header Name" and type in the fully qualified name for the server.
Report Manager URL
Click on Advanced Button
Click the IP entry that I wanted to edit.
Click "Host Header Name" and type in the fully qualified name for the server.
After the above were done both URLs in "Web Service URL" and "Report Manager URL" were able to work once correct credentials were passed to the server.

Permissions issues with SQL 2008, Report Builder 2.0

So here's a bit of context for the horror story:
Win 2003 SP2 64bit running on a VM exposed to outside world for web access.
SQL Server 2008 Std SP2 64bit with Reporting Services (RS) installed for native mode (i.e. not sharepoint mode).
IIS 6 .NET 3.5 web site app written to use the web services from RS. The site has been set to use Windows Authentication and nothing else.
To save writting custom authentication since I don't need it for this demo I have set-up a local account in Win 2003, i.e. servername\myDemoUser, effectively allow fake Windows Authentication.
Default.aspx lists folders on RS and the reports from each folder. It also has a link to the Report Builder 2 on the server.
The rsreportserver.config has been changed so that the only <AuthenticationType> is <RSWindowsNTLM> since <RSWindowsNegoiate> can't work since it's across the internet and users will not be on the same network (hence the local account myDemoUser).
The web site app has url of the form: http://mysite.mydomain.co.uk/ and the link on it to the Report Builder is of the form: http://mysite.mydomain.co.uk/services/reportbuilder/reportbuilder_2_0_0_0.application, in this case RS has been configured so the Web services virtual directory is "services".
The web.config for the website app has been set to <identity impersonate="true /> for <locations> for the ASPX pages that access the RS webservice. I even added a <location path="services/reportbuilder"> with the same thing and also to allow anonymous users.
So after all the above I go to the site from a machine that isn't on the network, I get prompted by IE8 for username/password and I enter servername\myDemoUser and the correct password. The homepage is displayed and correctly shows the list of folders and reports from RS. HOWEVER if I click the RS report builder link I get the pop window saying it's doing it's clickonce verfication stuff but after a couple of seconds it shows simple message box saying there was an authentication error. The details button then shows a text file with a bunch of stacktrace stuff in which eventually says that the server returned 401 while accessing the .application file mentioned above.
I turned on failure auditing for logins on the Win 2003 VM and I can see that when the clickonce fails it is trying to use the local machine account I logged into on the external (to my network) machine instead of the credentials I entered into the browser on that machine when testing it.
Much Googling and granting of permissions to Network service, everyone etc... on various folders involved later nothing the Report Builder bit just won't install via clickonce due to permissions or the incorrect use there of.
I'm looking into maybe changing something in the RS to try and grant permissions to the report builder to anonymous but at this point I'm pretty pessimistic that I'll actually find anything. The annoying thing about this is that this a test that doesn't represent the final thing (we'll be using custom authentication in RS) but unfortunately I have to do it, 8(.
Any ideas would be most appreciated.
It turns out that when using fake Windows authentication in this way when the machine you are accessing the site from a machine where you have not logged into the domain then clickOnce won't work because it won't pass the details you enter into the browser as found.
So the solution is to:
1) Log into a (any) domain on the machine that is going to access the clickonce link on your site.
2) In Control Panel go to User Accounts (XP)/Store Users and Passwords (Win 2003), and manage the network passwords for a user (XP) and add in the URL, username and password.
Whenever clickonce fires up for this URL it will pass the username/password specified as opposed to the local machine account.
Either of the above will solve this problem.

Can I check which database is running configuration and content for a WSS 3.0 site?

The problem is I have full access to the server where the Sharepoint site is hosted etc, however all i've ever done is maintained the site. I didn't set it up.
There is now an issue where Sharepoint can't connect to the Config or Content databases. I don't know which of our servers run these, so is there anyway I can find out, maybe from a config file or anything which server/database I need to check.
Other websites on the web server are still running fine, I know the database isn't on that same server because i've checked.
Any ideas?
I normally find the easiest way is to look at the site collections settings in Central Administration (which you should be able to access if you have root access to the server WSS 3.0 runs on)
Take the following steps once in the Central Administration site:
Go into Application Management
Go into Content Databases
Select your web application using the selector which is orange in the top right of the main content of the page
Click the name of the database displayed
Once you are at the final point you should see at the top information for Database Server and SQL Server Database Name. Hopefully this should point you in the right direction of where your database is being stored.
If your access to the database content database is cut due to incorrect login details to the SQL server (i.e. the SA account's password has changed), the SQL credentials can be updated here too for the selected content database.
Hope this helps.
Check out the Event Viewer Log. There would be an entry similar like this:
Event Type: Error
Event Source: Windows SharePoint Services 3
Event Category: Database
Event ID: 3760
Date: 4/16/2009
Time: 11:51:07 AM
User: N/A
Computer: IMIAPP03
Description:
SQL database **'STS_Config'** on SQL Server instance 'np:\\.\pipe\MSSQL$Microsoft##SSEE\sql\query' not found. Additional error information from SQL Server is included below.
Cannot open database "STS_Config" requested by the login. The login failed.
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.