I have SQL Server 2008 on window server 2008 that is my report server.
My web application is in vs2010 which is on the other system. When I tried to show the report in report viewer it giving the following error:
The request failed with HTTP status 401: Unauthorized.
I used the ProcessingMode.Remote.
I want to use the database credential for accessing the report (please keep in mind that I don’t want to use windows credential).
I have set the following authentication in reportserver.config file.
<Authentication>
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsNTLM/>
</AuthenticationTypes>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>
And on data source I have selected the “Credential stored securely in the report server” option.
More over when I use the window server 2003 report server its working fine and report viewer showing the report successfully, It create problem on window server 2008.
Please someone help me to overcome this problem. Is report server required some specific configuration for window server 2008?
Generally this occurs on the web server not keeping correct credentials to your data source. Start by going to the SSRS site: h ttp://(servername)/(Reports) by default.
There are a few questions you should ask:
Is this a report accessed by many so should I set up a domain account for it?
Or is this report only available to a few people and they should be prompted?
Generally you can go into the problem report. It will fail credentials. You can click it's hyperlink, click data sources on the left pane. You will see credentials set up. If you want to store them as you said you did, they should appear here under the radio button 'credentials stored in report server'. However many times an account should be listed here as a 'Windows account' or vice versa and is not.
I would also ensure once you get your data source down ensure your deployment settings are set to false for 'override data source'. Hope this helps.
Related
Our team has setup a Windows Server to specifically run SSRS in it. We have the reports running well but we wanted to manage several tasks under the Browser role to get rid of a couple of things. I believe this can be accessed through SSMS by logging in to the Report Server. I did this just fine but when I'm trying to open the properties of the Browser role, it is grayed out and can't be selected. Am I doing something wrong here?
A couple of notes to clear things out:
I'm already using an admin account on the server
The Reporting Server is installed separately to a source DB from which we get to access data
I'm able to do this just fine when both Reporting Server and source DB are on the server
I'm using SQL Server 2016 with the same version of SSRS
We have figured it out. We just need to open SSMS as administrator. Might just be a user error of some sort as we do not need to do this on other servers. Thanks.
I'm working on integrating a report into a browser, and I get this error:
An error has occurred during report processing. (rsProcessingAborted)
Cannot create a connection to data source 'dsFederatedSample_SurveyLevel_STG'. (rsErrorOpeningConnection)
For more information about this error navigate to the report server on the local server machine, or enable remote errors
Does this have to do with SQL vs Windows authentication?
First thing I would try is to get a bit more information on the error - that's a pretty generic message.
You could enable remote errors as per the error message and replicate the error for more information.
Or check the Report Server error logs to see what error was logged.
%programfiles%\Microsoft SQL Server\<SQL Server Instance>\Reporting Services\LogFiles\
The next step would be to connect as the Data Source user to the database, run any code/stored procedures that the report is using with the same parameters you're using when running the report, and see if any errors occur. Make sure the account you are using has permission and that you have entered the name and password correctly in the Data Source.
In SQL Server 2008 in addition to the above two options you have a third option to make this setting through SQL Server Management Studio.
1.Start Management Studio and connect to Report Server Instance (make sure you select 'Reporting Services' server type).
2.Right click on the ReportServer and Select Properties
3.Click Advanced
4.In EnableRemoteErrors, select True.
5.Click OK.
I had the same issue "Cannot create a connection to data source...Login failed for user.." on Windows 8.1, SQL Server 2014 Developer Edition and Visual Studio 2013 Pro. All solutions offered above by other Stackoverflow Community members did not work for me.
So, I did the next steps (running all Windows applications as Administrator):
VS2013 SSRS: I converted my Data Source to Shared Data Source (.rds) with Windows Authentication (Integrated Security) on the Right Pane "Solution Explorer".
Original (non-shared) Data Source (on the Left Pane "Report Data") got "Don't Use Credentials".
On the Project Properties, I set for "Deployment" "Overwrite DataSources" to "True" and redeployed the Project.
After that, I could run my report without further requirements to enter Credentials. All Shared DataSources were deployed in a separate Directory "DataSources".
In my case, this was due to using Integrated Windows Authentication in my data sources while developing reports locally, however once they made it to the report manager, the authentication was broke because the site wasn't properly passing along my credentials.
The simple fix is to hardcode a username/password into your datasource.
The harder fix is to properly impersonate/delegate your windows credentials through the report manager, to the underlying datasource.
The issue is because your data source is not setup properly, to do that please verify your data source connection, in order to do that first navigate to Report Service Configuration Manager through
clicking on the start -> Start All -> Microsoft SQL Server ->Configuration Tool -> “Report Service Configuration Manager”
The open Report Manager URL and then navigate to the Data Source folder, see in the picture below
Then Create a Data Source or configure the one that is already there by right click on your database source and select "Manage" as is shown below
Now on the properties tab, on your left menu, fill out the data source with your connection string and username and password, after that click on test connection, and if the connection was successful, then click "Apply"
Navigate to the folder that contains your report in this case "SurveyLevelReport"
And Finally set your Report to the Data Source that you set up previously, and click Apply
if you use null values in your stored procedure, you will need to set the parameters to accept null values. That worked for me.
In my case I had in one report many different datasets to DB and Analysis Services Cube. Looks like that datasets blocked each other and generated such error.
For me helped option "Use single transaction when processing the queries" in the CUBE datasource properties
I had a similar problem, and being the newbie that I am it took me a while to figure out but I learned the user must have a login in SSMS. I created the logins with the following parameters:
Under Server Roles - check sysadmin
Under User Mapping - I selected the database and the report server. For each I checked datareader and datawriter
Under Securables - I checked anything that would allow the user to connect to the database and view anything
I also found that one of the existing logins had denydatareader and denydatawriter checked. Once I removed these it worked.
I'm not saying this is the best way to do it, just what worked for me. Hope this helps
More information will be useful.
When I was faced with the same error message all I had to do was to correctly configure the credentials page of the DataSource(I am using Report Builder 3). if you chose the default, the report would work fine in Report Builder but would fail on the Report Server.
You may review more details of this fix here:
https://hodentekmsss.blogspot.com/2017/05/fix-for-rserroropeningconnection-in.html
I had the exact same issue.
The cause could be different but in my case, after trying several different things like changing the connection string on the Data Source setup, I found that this was the infamous 'double hop' issue (more info here).
To solve the problem, the following two options are available (as per one of the responses from the hyperlink):
Change the Report Server service to run under a domain user account, and register a SPN for the account.
Map Built-in accounts HTTP SPN to a Host SPN.
Using option 1, you need to select 'Windows' credentials instead of database credentials to overcome the double hop that happens while authentication.
I have created a Report Server Project in Visual Studio 2013. The actual report server was a pre-existing server whose reports were previously populated via the Report Builder tool. I have downloaded the .RDL files locally and added them to the project under the /Reports folder.
When I try to deploy the reports I am receiving the 'TargetServerURL' is not valid error. I have researched the answers here and here.
I can successfully navigate to http:///Reports_PRODUCTION which displays the reports, and also to http:///ReportServer_PRODUCTION which offers an FTP-view of the report structure.
In the project properties I have set the 'TargetServerURL' to both of these URLs and neither has worked. I've verified that the target server version is correctly set - SQL Server 2008 R2. Am I missing something?
Thanks
I found out something, so that's why I post to this old question.
I had the same problems after starting a new VS2013 SSRS project and tried to deploy to the same RS server, but to a different server.
I kept getting the error: The specified TargetServerURL is not valid. Specify a valid URL for report server in the deployment settings.
After quadruple checking everything,I found that I was changing the ssrs project property on Release mode but in VS 2013 I was deploying the project in Debug mode. After changing the VS 2013 configuration to run as Release it found the right ssrs project settings and deployed fine on first run.
I read these answers and looked in my Configuration Manager (Right click project name > Properties > Configuration Manager > and picked the Server that was configured. It shows up checked like the image. I had been uploading with correct info, just didn't have the configuration fully done on my new project which used files and locations from older project:
Screenshot of Configuration Manager and Settings
I would start by looking at what SSRS thinks the service endpoint is and I bet that is the one you should be using.
Open the Sql Server 20XX Reporting Service Configuration Manager.
NOTE : This is found under the Sql Server progam group and maybe in a subfolder.
Select the service instance you want to connect to and click Connect
Navigate to the "Web Service Url" Tree List View Item in the list on the left hand side of the window.
Note the URLs: value in the "Report Server Web Service URLs" group box at the bottom of the Web Service URL panel. (This is the url you should use to connect with)
NOTE : If this is on a remote server then you will need to http or https to the domain in place of localhost or machine name if that is how the Report service was set up. If you can not access https:\\MACHINENAME/SSRS from your local machine then simply replace the url with https:\\www.mymachinenameurl.com/SSRS
make sure your deployment settings for the configuration you are deploying from are set (deploying in debug, ensure you are referring to debug deployment settings)
trust me I've been there .. Allot
I reached here because I've had the same error, and I was not able to deploy my report .
Anyways, at some point I tried to deploy the report manually by uploading to the library that I've already prepared with the Reporting Content Types, but the datasource was appearing as unknown file types, and couldn't access Manage Data Sources of the report.
tried to run the report hopelessly and noticed the url
http://ServerName/PWA/_layouts/15/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/PWA/Reports%20Library/Weekly%20Status%20Report.rdl
I tried to use the url http://ServerName/PWA/_layouts/15/ReportServer as "TargetServerURL" and it worked
for the other properties like the Datasets, reports ... I used the following urls
Report: http://ServerName/PWA/Reports%20Library/
DataSets: http://ServerName/PWA/Reports%20Library/Datasets
datasource: http://ServerName/PWA/Reports%20Library/datasource
and this was the end of my suffer and was able to deploy correctly and manage every property of the report, datasets, and datasources
I'm working on integrating a report into a browser, and I get this error:
An error has occurred during report processing. (rsProcessingAborted)
Cannot create a connection to data source 'dsFederatedSample_SurveyLevel_STG'. (rsErrorOpeningConnection)
For more information about this error navigate to the report server on the local server machine, or enable remote errors
Does this have to do with SQL vs Windows authentication?
First thing I would try is to get a bit more information on the error - that's a pretty generic message.
You could enable remote errors as per the error message and replicate the error for more information.
Or check the Report Server error logs to see what error was logged.
%programfiles%\Microsoft SQL Server\<SQL Server Instance>\Reporting Services\LogFiles\
The next step would be to connect as the Data Source user to the database, run any code/stored procedures that the report is using with the same parameters you're using when running the report, and see if any errors occur. Make sure the account you are using has permission and that you have entered the name and password correctly in the Data Source.
In SQL Server 2008 in addition to the above two options you have a third option to make this setting through SQL Server Management Studio.
1.Start Management Studio and connect to Report Server Instance (make sure you select 'Reporting Services' server type).
2.Right click on the ReportServer and Select Properties
3.Click Advanced
4.In EnableRemoteErrors, select True.
5.Click OK.
I had the same issue "Cannot create a connection to data source...Login failed for user.." on Windows 8.1, SQL Server 2014 Developer Edition and Visual Studio 2013 Pro. All solutions offered above by other Stackoverflow Community members did not work for me.
So, I did the next steps (running all Windows applications as Administrator):
VS2013 SSRS: I converted my Data Source to Shared Data Source (.rds) with Windows Authentication (Integrated Security) on the Right Pane "Solution Explorer".
Original (non-shared) Data Source (on the Left Pane "Report Data") got "Don't Use Credentials".
On the Project Properties, I set for "Deployment" "Overwrite DataSources" to "True" and redeployed the Project.
After that, I could run my report without further requirements to enter Credentials. All Shared DataSources were deployed in a separate Directory "DataSources".
In my case, this was due to using Integrated Windows Authentication in my data sources while developing reports locally, however once they made it to the report manager, the authentication was broke because the site wasn't properly passing along my credentials.
The simple fix is to hardcode a username/password into your datasource.
The harder fix is to properly impersonate/delegate your windows credentials through the report manager, to the underlying datasource.
The issue is because your data source is not setup properly, to do that please verify your data source connection, in order to do that first navigate to Report Service Configuration Manager through
clicking on the start -> Start All -> Microsoft SQL Server ->Configuration Tool -> “Report Service Configuration Manager”
The open Report Manager URL and then navigate to the Data Source folder, see in the picture below
Then Create a Data Source or configure the one that is already there by right click on your database source and select "Manage" as is shown below
Now on the properties tab, on your left menu, fill out the data source with your connection string and username and password, after that click on test connection, and if the connection was successful, then click "Apply"
Navigate to the folder that contains your report in this case "SurveyLevelReport"
And Finally set your Report to the Data Source that you set up previously, and click Apply
if you use null values in your stored procedure, you will need to set the parameters to accept null values. That worked for me.
In my case I had in one report many different datasets to DB and Analysis Services Cube. Looks like that datasets blocked each other and generated such error.
For me helped option "Use single transaction when processing the queries" in the CUBE datasource properties
I had a similar problem, and being the newbie that I am it took me a while to figure out but I learned the user must have a login in SSMS. I created the logins with the following parameters:
Under Server Roles - check sysadmin
Under User Mapping - I selected the database and the report server. For each I checked datareader and datawriter
Under Securables - I checked anything that would allow the user to connect to the database and view anything
I also found that one of the existing logins had denydatareader and denydatawriter checked. Once I removed these it worked.
I'm not saying this is the best way to do it, just what worked for me. Hope this helps
More information will be useful.
When I was faced with the same error message all I had to do was to correctly configure the credentials page of the DataSource(I am using Report Builder 3). if you chose the default, the report would work fine in Report Builder but would fail on the Report Server.
You may review more details of this fix here:
https://hodentekmsss.blogspot.com/2017/05/fix-for-rserroropeningconnection-in.html
I had the exact same issue.
The cause could be different but in my case, after trying several different things like changing the connection string on the Data Source setup, I found that this was the infamous 'double hop' issue (more info here).
To solve the problem, the following two options are available (as per one of the responses from the hyperlink):
Change the Report Server service to run under a domain user account, and register a SPN for the account.
Map Built-in accounts HTTP SPN to a Host SPN.
Using option 1, you need to select 'Windows' credentials instead of database credentials to overcome the double hop that happens while authentication.
In SSRS Report Server (SQL Server 2008 R2), I have a shared data source with data source type of XML. I have a report that uses a shared data set based off of the shared data source. The XML endpoint is living in an IIS-hosted Windows authentication app, and my development server is on a domain.
In Report Server, if I set the shared data source Connect Using option to Windows integrated security, the report renders quickly and as expected.
If I set Connect Using option to Credentials stored securely in the report server (with either domain or local account as configured account), the report rendering hangs indefinitely. There is no error. The "Loading... cancel" popup never goes away. The last line in the Report Server log file says:
library!ReportServer_0-6!19a4!11/22/2011-10:59:27:: i INFO: RenderForNewSession('/Test1/MyReportThatHangs')
Since Report Server caching does not work with "Connect Using" = "Windows integrated security", I'd really like to use "Credentials stored securely in the report server". Is it possible that option is not supported with the XML data source type?
The problem was SSRS was trying to load BCMLogon.dll which it didn't have permission to.
For full thread, see here: http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/928cd523-9eeb-49ce-a145-e0885c76adba
I guess I didn't wait long enough to get the error this guy did:
http://completedevelopment.blogspot.com/2009/01/network-provider-issues-and-sql-server.html
Renaming c:\windows\system32\BCMLogon.dll to BCMLogon-RENAMED.dll
fixed the problem (I'm working off of a Dell laptop). I can't believe
I didn't try that before... Anyhow, I still think it's odd that
there was a System.Data.SqlClient.SqlException: Timeout expired
exception when checking "Impersonate the authenticated user after a
connection has been made to the data source" with an XML data source
(unless SqlDataClient has some mode where it can load XML from urls).
Also, it seems that reporting services isn't properly notifying
clients that the HTTP request failed and instead leaves the client
hanging (but perhaps http.sys does not allow a response that after 15
minutes).