Wednesday, March 28, 2012
Reporting Services 2005 WMI documentation inccorect?
implemented Custom Forms Security Extension. When I run the code below I get
a WMI Exception "Not Found"? I think maybe I have the namespace or class name
wrong... The documentation has both "MSReportManager_ConfigurationSetting"
and "MSReportServerReportManager_ConfigurationSetting" but neither seem to
work. The only WMI class that works properly is "MSReportServer_Instance".
What am I doing wrong?
________________________________________________________
Nuno Pereira
ManagementScope scope = new
ManagementScope(@."\\localhost\root\Microsoft\SqlServer\ReportServer\v9");
scope.Connect();
ManagementPath path = new
ManagementPath("MSReportServerReportManager_ConfigurationSetting");
ObjectGetOptions options = new ObjectGetOptions();
ManagementClass serverClass = new ManagementClass(scope, path, options);
serverClass.Get(); // throws a "Not Found" error...
________________________________________________________________I am now encountering a similar problem as you. I am looking into the sample
provided by MS on Using Forms Authentication in Reporting Services (this is
in SQL2K) and trying to replicate it using SQL 2005 and VS2005.
But I have problems accessing the PathName property of
MSReportServer_ConfigurationSetting, which i need to point to the installed
path for the Report Server. Can any one help to explain more on this area?
Thanks for any assistance.
"Nuno" wrote:
> I have SQL Server 2005 + Reporting Services 2005 installed on a machine. I've
> implemented Custom Forms Security Extension. When I run the code below I get
> a WMI Exception "Not Found"? I think maybe I have the namespace or class name
> wrong... The documentation has both "MSReportManager_ConfigurationSetting"
> and "MSReportServerReportManager_ConfigurationSetting" but neither seem to
> work. The only WMI class that works properly is "MSReportServer_Instance".
> What am I doing wrong?
> ________________________________________________________
> Nuno Pereira
> ManagementScope scope = new
> ManagementScope(@."\\localhost\root\Microsoft\SqlServer\ReportServer\v9");
> scope.Connect();
> ManagementPath path = new
> ManagementPath("MSReportServerReportManager_ConfigurationSetting");
> ObjectGetOptions options = new ObjectGetOptions();
> ManagementClass serverClass = new ManagementClass(scope, path, options);
> serverClass.Get(); // throws a "Not Found" error...
> ________________________________________________________________
>
>|||I am also encountering similar problems trying to retrieve the RS Web Service
from the following constants in Utils.cs provided in the RS 2000 Forms
Authentication example:
// WMI constants
const string WmiNamespace =@."\\localhost\root\Microsoft\SqlServer\ReportingServices\v8";
const string WmiRSClass = @."MSReportServerReportManager_ConfigurationSetting";
I've had to hardcode the Web Service URL (server.Url = "https://<server
name>/reportserver/reportservice.asmx";) in my UILogon.aspx.cs file to make
it work but this obviously isn't a solution since we have multiple test and
production enviornments.
"ice" wrote:
> I am now encountering a similar problem as you. I am looking into the sample
> provided by MS on Using Forms Authentication in Reporting Services (this is
> in SQL2K) and trying to replicate it using SQL 2005 and VS2005.
> But I have problems accessing the PathName property of
> MSReportServer_ConfigurationSetting, which i need to point to the installed
> path for the Report Server. Can any one help to explain more on this area?
> Thanks for any assistance.
> "Nuno" wrote:
> > I have SQL Server 2005 + Reporting Services 2005 installed on a machine. I've
> > implemented Custom Forms Security Extension. When I run the code below I get
> > a WMI Exception "Not Found"? I think maybe I have the namespace or class name
> > wrong... The documentation has both "MSReportManager_ConfigurationSetting"
> > and "MSReportServerReportManager_ConfigurationSetting" but neither seem to
> > work. The only WMI class that works properly is "MSReportServer_Instance".
> >
> > What am I doing wrong?
> >
> > ________________________________________________________
> >
> > Nuno Pereira
> > ManagementScope scope = new
> > ManagementScope(@."\\localhost\root\Microsoft\SqlServer\ReportServer\v9");
> >
> > scope.Connect();
> >
> > ManagementPath path = new
> > ManagementPath("MSReportServerReportManager_ConfigurationSetting");
> > ObjectGetOptions options = new ObjectGetOptions();
> > ManagementClass serverClass = new ManagementClass(scope, path, options);
> >
> > serverClass.Get(); // throws a "Not Found" error...
> > ________________________________________________________________
> >
> >
> >|||Is anybody from Microsoft listening? What's the answer to this question? What
are the equivalent constants for RS 2005 that were documented in the RS 2000
security extension example?
// RS 2000 Code
// WMI constants
const string WmiNamespace = @."\\localhost\root\Microsoft\SqlServer\ReportingServices\v8";
const string WmiRSClass = @."MSReportServerReportManager_ConfigurationSetting";
"JSI" wrote:
> I am also encountering similar problems trying to retrieve the RS Web Service
> from the following constants in Utils.cs provided in the RS 2000 Forms
> Authentication example:
> // WMI constants
> const string WmiNamespace => @."\\localhost\root\Microsoft\SqlServer\ReportingServices\v8";
> const string WmiRSClass = @."MSReportServerReportManager_ConfigurationSetting";
> I've had to hardcode the Web Service URL (server.Url = "https://<server
> name>/reportserver/reportservice.asmx";) in my UILogon.aspx.cs file to make
> it work but this obviously isn't a solution since we have multiple test and
> production enviornments.
> "ice" wrote:
> > I am now encountering a similar problem as you. I am looking into the sample
> > provided by MS on Using Forms Authentication in Reporting Services (this is
> > in SQL2K) and trying to replicate it using SQL 2005 and VS2005.
> >
> > But I have problems accessing the PathName property of
> > MSReportServer_ConfigurationSetting, which i need to point to the installed
> > path for the Report Server. Can any one help to explain more on this area?
> >
> > Thanks for any assistance.
> >
> > "Nuno" wrote:
> >
> > > I have SQL Server 2005 + Reporting Services 2005 installed on a machine. I've
> > > implemented Custom Forms Security Extension. When I run the code below I get
> > > a WMI Exception "Not Found"? I think maybe I have the namespace or class name
> > > wrong... The documentation has both "MSReportManager_ConfigurationSetting"
> > > and "MSReportServerReportManager_ConfigurationSetting" but neither seem to
> > > work. The only WMI class that works properly is "MSReportServer_Instance".
> > >
> > > What am I doing wrong?
> > >
> > > ________________________________________________________
> > >
> > > Nuno Pereira
> > > ManagementScope scope = new
> > > ManagementScope(@."\\localhost\root\Microsoft\SqlServer\ReportServer\v9");
> > >
> > > scope.Connect();
> > >
> > > ManagementPath path = new
> > > ManagementPath("MSReportServerReportManager_ConfigurationSetting");
> > > ObjectGetOptions options = new ObjectGetOptions();
> > > ManagementClass serverClass = new ManagementClass(scope, path, options);
> > >
> > > serverClass.Get(); // throws a "Not Found" error...
> > > ________________________________________________________________
> > >
> > >
> > >|||For those of you who are still looking for the answer. The namespace in sql server 2005 is: "\\localhost\root\Microsoft\SqlServer\ReportServer\v9\Admin" while the class for report manager instance is: "MSReportManager_ConfigurationSetting". For more details please refer to: http://msdn2.microsoft.com/en-us/library/ms153571.aspx
From http://www.developmentnow.com/g/115_2006_2_0_0_693931/Reporting-Services-2005-WMI-documentation-inccorect.ht
Posted via DevelopmentNow.com Group
http://www.developmentnow.com
Reporting Services 2005 in SharePoint Integrated mode with forms
sharepoint integrated mode, so I am deploying reports in sharepoint
libraries. After that I configured sharepoint to use forms
authentication with builtin AspNetSqlMembership provider, but this
action caused reports to not execute. I searched and found hotfix 3186
for this issue and applied it, but nothing has changed!
Error I have been experiencing is following:
An unexpected error occurred while connecting to the report server.
Verify that the report server is available and configured for
SharePoint integrated mode. --> The request failed with the error
message:
--
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://links.10026.com/?link=/_layouts/login.aspx?ReturnUrl= %2f_vti_bin
%2fReportServer%2fReportService2006.asmx">here</a>.</h2>
</body></html>
anyone can help? maybe i have not configured something correctly...Irakli
It would be better of you post that question in .reportrtingsvcs or
sharepoint user group.
"Irakli" <Irakli.Rostiashvili@.gmail.com> wrote in message
news:5e330a25-f9bb-4657-9e26-e00a0ab96f6f@.m34g2000hsf.googlegroups.com...
> Well, I have reporting services 2005 installed and configured in
> sharepoint integrated mode, so I am deploying reports in sharepoint
> libraries. After that I configured sharepoint to use forms
> authentication with builtin AspNetSqlMembership provider, but this
> action caused reports to not execute. I searched and found hotfix 3186
> for this issue and applied it, but nothing has changed!
> Error I have been experiencing is following:
> An unexpected error occurred while connecting to the report server.
> Verify that the report server is available and configured for
> SharePoint integrated mode. --> The request failed with the error
> message:
> --
> <html><head><title>Object moved</title></head><body>
> <h2>Object moved to <a href="http://links.10026.com/?link=/_layouts/login.aspx?ReturnUrl=> %2f_vti_bin
> %2fReportServer%2fReportService2006.asmx">here</a>.</h2>
> </body></html>
> anyone can help? maybe i have not configured something correctly...
Monday, March 26, 2012
Reporting Services 2000 w/ Forms Auth - rs.Timeout not getting set
I have implemented the Forms Authentication in Reporting Services 2000. In addition, we have a reports web application that uses the authentication to access the reports in the Reports Server. I have implemented a similar code that is posted in http://msdn2.microsoft.com/en-us/library/aa902691(SQL.80).aspxhttp://msdn2.microsoft.com/en-us/library/aa902691(SQL.80).aspx for the Reports Server and Reports Manager. For the web application, I added reference to the custom security assembly, created a new ReportsServerProxy, and then called the LogonUser().
Now, one of the functionality we have in the applicaiton is to set the reporting services Timeout for reports that take too long to run. The weird thing is the Timeout (in milliseconds) is getting ignored by the ReportServerProxy using the custom security assembly. I verified that without the custom secuirty assembly, the Timeout property is getting set.
I did find the code for ReportServerProxy's GetWebRequest(Uri uri) is setting the request.Timeout to -1. I thought this was interfering with the rs.Timeout, but removing the code did not make any difference.
How do I set the Timeout property correctly? Do you know of any issues with setting the Timeout property for Reporting Services with Forms Authentication?
Can anybody help PLEASE? I need an answer ASAP. Thanks in advance for your help.
/**partial UILogon.aspx code for ReportServerProxy below**/
public class ReportServerProxy : ReportingService
{
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest request;
request = (HttpWebRequest)HttpWebRequest.Create(uri);
// Create a cookie jar to hold the request cookie
CookieContainer cookieJar = new CookieContainer();
request.CookieContainer = cookieJar;
Cookie authCookie = AuthCookie;
// if the client already has an auth cookie
// place it in the request's cookie container
if (authCookie != null)
request.CookieContainer.Add(authCookie);
request.Timeout = -1;
request.Headers.Add("Accept-Language",
HttpContext.Current.Request.Headers["Accept-Language"]);
return request;
} ...}
/** Below is the Reports Web applicaiton code that calls the ReportsServerProxy LogonUser **/
Public Function GetReportServerProxy() As ReportServerProxy
Dim rsProx As New ReportServerProxy
rsProx.Url = ConfigurationSettings.AppSettings("REPORT_SERVER_URL") + "/ReportService.asmx"
Try
rsProx.LogonUser("SYSADMIN", "password", Nothing)
Return rsProx
Catch ex As Exception
Throw New Exception("GetReportServerProxy Failed.", ex)
End Try
End Function
Private Function CreateSnapShot() As String
...
Dim rs As RSCustomSecurity.ReportServerProxy
Try
rs = GetReportServerProxy()
' First set the parameters' default values
parameters = setParamters()
rs.SetReportParameters(reportPath, parameters)
If errorsList.Count > 0 Then Throw New Exception
'Server.ScriptTimeout = 10
rs.Timeout = Integer.Parse(ConfigurationSettings.AppSettings.Get("REPORT_PROCESS_TIMEOUT"))
lsHistoryID = rs.CreateReportHistorySnapshot(reportPath, warnings)
'lblStatus.NavigateUrl = "ViewSnapShot.aspx?History_ID=" & lsHistoryID
lblStatus.Text = "Your request has been processed. View report as"
....
Catch ex As Exception
....
Finally
Debug.Write("End : " & Now.ToLongTimeString)
rs = Nothing
End Try
End Function
Anyone that has any idea, PLEASE respond. Just to reiterate...
I have implemented the forms authentication for Reporting Services 2000. Below, I set the ReportingServices.Timeout property and then call CreateReportHistory(). Before I implemented the Forms Authentication, the timeout was getting recognized, which means the CreateReportHistorySnapshot errors out with a message "Operation timed out". But now, with Forms Authentication, the Timeout is not recognized and CreateReportHistory runs until it finishes generating the report, which can take a while to run. Does anyone know what I need to do to set it correctly?
rs.Timeout = Integer.Parse(ConfigurationSettings.AppSettings.Get("REPORT_PROCESS_TIMEOUT"))
lsHistoryID = rs.CreateReportHistorySnapshot(reportPath, warnings)
Thanks!
Reporting Services 2000 w/ Forms Auth - rs.Timeout not getting set
I have implemented the Forms Authentication in Reporting Services 2000. In addition, we have a reports web application that uses the authentication to access the reports in the Reports Server. I have implemented a similar code that is posted in http://msdn2.microsoft.com/en-us/library/aa902691(SQL.80).aspxhttp://msdn2.microsoft.com/en-us/library/aa902691(SQL.80).aspx for the Reports Server and Reports Manager. For the web application, I added reference to the custom security assembly, created a new ReportsServerProxy, andthen called the LogonUser().
Now, one of the functionality we have in the applicaiton istoset the reporting services Timeout for reports that take too longto run. The weird thing is the Timeout (in milliseconds) is getting ignored by the ReportServerProxy using the custom security assembly. I verified that without the custom secuirty assembly, the Timeout propertyis getting set.
I did find the code for ReportServerProxy's GetWebRequest(Uri uri) is setting the request.Timeout to -1. I thought this was interfering with the rs.Timeout, but removing the code did not make any difference.
How do I set the Timeout property correctly? Do you know of any issues with setting the Timeout propertyfor Reporting Services with Forms Authentication?
Can anybody help PLEASE? I need an answer ASAP. Thanks in advance for your help.
/**partial UILogon.aspx code for ReportServerProxy below**/
publicclass ReportServerProxy : ReportingService
{
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest request;
request = (HttpWebRequest)HttpWebRequest.Create(uri);
// Create a cookie jar to hold the request cookie
CookieContainer cookieJar = new CookieContainer();
request.CookieContainer = cookieJar;
Cookie authCookie = AuthCookie;
// if the client already has an auth cookie
// place it in the request's cookie container
if (authCookie != null)
request.CookieContainer.Add(authCookie);
request.Timeout = -1;
request.Headers.Add("Accept-Language",
HttpContext.Current.Request.Headers["Accept-Language"]);
return request;
} ...}
/** Below is the Reports Web applicaiton code that calls the ReportsServerProxy LogonUser **/
PublicFunction GetReportServerProxy() As ReportServerProxy
Dim rsProx AsNew ReportServerProxy
rsProx.Url = ConfigurationSettings.AppSettings("REPORT_SERVER_URL") + "/ReportService.asmx"
Try
rsProx.LogonUser("SYSADMIN", "password", Nothing)
Return rsProx
Catch ex As Exception
Throw New Exception("GetReportServerProxy Failed.", ex)
End Try
EndFunction
PrivateFunction CreateSnapShot() AsString
...
Dim rs As RSCustomSecurity.ReportServerProxy
Try
rs = GetReportServerProxy()
' First set the parameters' default values
parameters = setParamters()
rs.SetReportParameters(reportPath, parameters)
If errorsList.Count > 0 Then Throw New Exception
'Server.ScriptTimeout = 10
rs.Timeout = Integer.Parse(ConfigurationSettings.AppSettings.Get("REPORT_PROCESS_TIMEOUT"))
lsHistoryID = rs.CreateReportHistorySnapshot(reportPath, warnings)
'lblStatus.NavigateUrl = "ViewSnapShot.aspx?History_ID=" & lsHistoryID
lblStatus.Text = "Your request has been processed. View report as"
....
Catch ex As Exception
....
Finally
Debug.Write("End : " & Now.ToLongTimeString)
rs = Nothing
End Try
EndFunction
Anyone that has any idea, PLEASE respond. Just to reiterate...
I have implemented the forms authentication for Reporting Services 2000. Below, I set the ReportingServices.Timeout property and then call CreateReportHistory(). Before I implemented the Forms Authentication, the timeout was getting recognized, which means the CreateReportHistorySnapshot errors out with a message "Operation timed out". But now, with Forms Authentication, the Timeout is not recognized and CreateReportHistory runs until it finishes generating the report, which can take a while to run. Does anyone know what I need to do to set it correctly?
rs.Timeout = Integer.Parse(ConfigurationSettings.AppSettings.Get("REPORT_PROCESS_TIMEOUT"))
lsHistoryID = rs.CreateReportHistorySnapshot(reportPath, warnings)
Thanks!
sqlWednesday, March 21, 2012
Reporting Services - credentials error.
I have created a report in RS and it works fine (am invoking from VB.Net - windows forms).
However, I have copied the report into a new one as I need a very similar looking report to be called from the same application, but if I attempt to invoke it in the same way as the first I get the following error:
"An attempt was made to set credentials for a data source '<name>' associated with thre report. Report data source settings are specified in a way that prevens credentials from being submitted to the report server."
I am passing the credentials like so:
Dim cc As New DataSourceCredentials
Dim cred() As DataSourceCredentials = {cc}
cred(0).Password = "*****"
cred(0).UserName = "****"
cred(0).DataSourceName = "**DSNAME**"
Any help would be gratfully recieved, as this is driving me completely nuts.
Thanks in advance.Anyone? Someone must have come across this before.
I am slowly banging my head against a wall here ;-)
Friday, March 9, 2012
Reporting Service Performance
The Control is based on the following code: http://blogs.msdn.com/bryanke/articles/71491.aspxThe image rendering extension was not really designed to be used this way
and is known to have issues with large reports. Bryan's code is a interim
approach until we have the supported set of report controls available in VS
Whidbey.
--
Brian Welcker
Group Program Manager
SQL Server Reporting Services
This posting is provided "AS IS" with no warranties, and confers no rights.
"Dasirr" <Dasirr@.discussions.microsoft.com> wrote in message
news:0BE027EA-51C5-4B4E-BC32-2CC51EE01E0C@.microsoft.com...
>I have developed a Windows Forms Control that renders ReportingService
>reports as a metafile, This way the reports can be shown on as 'Crystal
>Reports' does in the wysiwyg way. But when the reports contain some
>hundered pages (and that happens often) the rendering of one page takes up
>to 3 seconds. The reason for this is not the SQL statement (it is a simple
>listing of 15000 records in one table). Is there a way to speed this up
>without using caches or snapshots? The Controls main feature must be that
>it can easily show and print reports.
> The Control is based on the following code:
> http://blogs.msdn.com/bryanke/articles/71491.aspx
Saturday, February 25, 2012
Reporting Servcies Sessions
Hey
I have a problem in controlling the report session.
I created a Reporting Model using SQL reporting Services 2005 with Forms authentication on which I implemented the security Filter based on the function GetUserID() to report only against data that belong to the login User, and I deployed the Model.
Using report Builder application I created a report that contain in the first column the user name (UserName) from entity “Users”, and in the remaining columns data from other entities related to table users, I saved the report on the report server.
I logged in into report manager with user “User1” and I ran the report, the result was the same as expected (in the first column “User1” appeared and in the remaining column other data related to this user appeared) every thing went good
After that I logged in with the user “User2” and I ran the report and here was the surprise the same data that appeared for "User1" appeared for "User2". but what was Expected is different data that belong to "User 2"
After some research that says that this problem may be caused by a session issue (the session created for the first user who enters the report server will remain for the other users that enter after him), I reset IIS and I logged in with “User2”, and I ran the report the correct data for “User2” appeared So it may be a session issue.
My question is:
Is there any way to control the session content and the session expiration?
Please note I used all the solution provided in my research such as URL parameter rs:ClearSession = true, and the Report Execution Options in report manager but non of this helped me.
I will be thankful for any one who could help me in this urgent issue.
Thank you
BOB
Hi Bob,
I have the same issue here. Did you manage to get a solution for your problem?
Julian Kooiker
Reporting Servcies Sessions
Hey
I have a problem in controlling the report session.
I created a Reporting Model using SQL reporting Services 2005 with Forms authentication on which I implemented the security Filter based on the function GetUserID() to report only against data that belong to the login User, and I deployed the Model.
Using report Builder application I created a report that contain in the first column the user name (UserName) from entity “Users”, and in the remaining columns data from other entities related to table users, I saved the report on the report server.
I logged in into report manager with user “User1” and I ran the report, the result was the same as expected (in the first column “User1” appeared and in the remaining column other data related to this user appeared) every thing went good
After that I logged in with the user “User2” and I ran the report and here was the surprise the same data that appeared for "User1" appeared for "User2". but what was Expected is different data that belong to "User 2"
After some research that says that this problem may be caused by a session issue (the session created for the first user who enters the report server will remain for the other users that enter after him), I reset IIS and I logged in with “User2”, and I ran the report the correct data for “User2” appeared So it may be a session issue.
My question is:
Is there any way to control the session content and the session expiration?
Please note I used all the solution provided in my research such as URL parameter rs:ClearSession = true, and the Report Execution Options in report manager but non of this helped me.
I will be thankful for any one who could help me in this urgent issue.
Thank you
BOB
Hi Bob,
I have the same issue here. Did you manage to get a solution for your problem?
Julian Kooiker