Showing posts with label reporting. Show all posts
Showing posts with label reporting. Show all posts

Monday, March 19, 2012

Collapsing blank lines in Reporting Services

Is there a way to collapse blank lines in Reporting Services? I have a
report where I stack contact information -- address, phone, email -- and some
records don't have one or another of these items. Rather than leaving blank
lines in between data, makin the report difficult to read, I would like to
collapse those lines and get rid of them. Is this possible? Using the
shrink/expand to fit data doesn't work.What's the container that the rows are in?
If you remove the space between the containers (textboxes?), that may be
what you are looking for. If not, you may need to go to a matrix or table.
"HHoward" <HHoward@.discussions.microsoft.com> wrote in message
news:6098B06F-686D-4EB1-ACC3-1D7B5F7BF08F@.microsoft.com...
> Is there a way to collapse blank lines in Reporting Services? I have a
> report where I stack contact information -- address, phone, email -- and
> some
> records don't have one or another of these items. Rather than leaving
> blank
> lines in between data, makin the report difficult to read, I would like to
> collapse those lines and get rid of them. Is this possible? Using the
> shrink/expand to fit data doesn't work.|||If the information is in a table and you have the value in a text box you can
click the left end of the line and in the visibility hidden you can put
=iif(len(Fields!Address.value)>0, false, true) Or you can just put a
condition on your data (iif(len(Fields!Address1.value)>0,
Fields!Address1.value & vbcrlf & Fields!Address2.value,"") Hope that makes
sense.
"HHoward" wrote:
> Is there a way to collapse blank lines in Reporting Services? I have a
> report where I stack contact information -- address, phone, email -- and some
> records don't have one or another of these items. Rather than leaving blank
> lines in between data, makin the report difficult to read, I would like to
> collapse those lines and get rid of them. Is this possible? Using the
> shrink/expand to fit data doesn't work.|||Great tip -- worked like a charm. Thanks so much!
"KimB" wrote:
> If the information is in a table and you have the value in a text box you can
> click the left end of the line and in the visibility hidden you can put
> =iif(len(Fields!Address.value)>0, false, true) Or you can just put a
> condition on your data (iif(len(Fields!Address1.value)>0,
> Fields!Address1.value & vbcrlf & Fields!Address2.value,"") Hope that makes
> sense.
> "HHoward" wrote:
> > Is there a way to collapse blank lines in Reporting Services? I have a
> > report where I stack contact information -- address, phone, email -- and some
> > records don't have one or another of these items. Rather than leaving blank
> > lines in between data, makin the report difficult to read, I would like to
> > collapse those lines and get rid of them. Is this possible? Using the
> > shrink/expand to fit data doesn't work.|||I'm glad that it worked for you!
"HHoward" wrote:
> Great tip -- worked like a charm. Thanks so much!
> "KimB" wrote:
> > If the information is in a table and you have the value in a text box you can
> > click the left end of the line and in the visibility hidden you can put
> > =iif(len(Fields!Address.value)>0, false, true) Or you can just put a
> > condition on your data (iif(len(Fields!Address1.value)>0,
> > Fields!Address1.value & vbcrlf & Fields!Address2.value,"") Hope that makes
> > sense.
> >
> > "HHoward" wrote:
> >
> > > Is there a way to collapse blank lines in Reporting Services? I have a
> > > report where I stack contact information -- address, phone, email -- and some
> > > records don't have one or another of these items. Rather than leaving blank
> > > lines in between data, makin the report difficult to read, I would like to
> > > collapse those lines and get rid of them. Is this possible? Using the
> > > shrink/expand to fit data doesn't work.

collapse or hide Report Manager header bar

Is there a way to automatically collapse or hide the Report Manager header
bar, the one with SQL Server Reporting Services > Home on it?
StephanieOn May 3, 9:28 am, Stephanie <Stepha...@.discussions.microsoft.com>
wrote:
> Is there a way to automatically collapse or hide the Report Manager header
> bar, the one with SQL Server Reporting Services > Home on it?
> Stephanie
As far as I know, there is not. The only thing I can think of is to
create a custom application w/a report viewer control. Sorry I
couldn't be of greater assistance.
Regards,
Enrique Martinez
Sr. Software Consultant

collapse button in SQL reports

I am working with SQL reporting services, I am getting the data dispalyed...

the only problem is that I am not able to collapse, ie (+) button next to the row header and the cloum header.

Can any one let me know, how to get that....

Thnks in adv.

Hi,

i don′t know how familiar you are with Reporting Services, but this is the function accessible through the Hidden property. Select e.g. a group in your table (clicking on the row left next to the table) and choose the property Hidden = True, then specify a toggle item (up the hierarchy of the group could be a textbox in the table) which should display the +/- signs:

http://www.simple-talk.com/sql/learn-sql-server/beginning-sql-server-2005-reporting-services-part-2/


Jens K. Suessmeyer.

http://www.sqlserver2005.de

Collapsable Columns not showing up in export to Excel

Dear Anyone,

I have created a report that has collapsable columns. We had used the visible toggle property in reporting services. While the colpsable column works well in report manager, it doesnt work anyone when we export the report to excel. Even of the report is expanded, the report in excel would always show up with just the columns that are the basis for the collapsable column.

Is this really the behavior when it comes to collapsable columns and exporting to excel?

Example:

Column A toggles Column B, Column C and Column D.

Thanks,

Joseph

I've solved this issue setting the hidden columns to be by defualt visible and then letting the user decide if to hide them or not.

In this way excel export it is correct.

HTH.

Alberto

|||

Hello Alberto,

Would you mind sharing your findings?

Thanks,

Joseph

|||I will appreciate if you could post the code and explanation how you did that.

Collapsable Columns not showing up in export to Excel

Dear Anyone,

I have created a report that has collapsable columns. We had used the visible toggle property in reporting services. While the colpsable column works well in report manager, it doesnt work anyone when we export the report to excel. Even of the report is expanded, the report in excel would always show up with just the columns that are the basis for the collapsable column.

Is this really the behavior when it comes to collapsable columns and exporting to excel?

Example:

Column A toggles Column B, Column C and Column D.

Thanks,

Joseph

I've solved this issue setting the hidden columns to be by defualt visible and then letting the user decide if to hide them or not.

In this way excel export it is correct.

HTH.

Alberto

|||

Hello Alberto,

Would you mind sharing your findings?

Thanks,

Joseph

|||I will appreciate if you could post the code and explanation how you did that.

Collapsable Columns not showing up in export to Excel

Dear Anyone,

I have created a report that has collapsable columns. We had used the visible toggle property in reporting services. While the colpsable column works well in report manager, it doesnt work anyone when we export the report to excel. Even of the report is expanded, the report in excel would always show up with just the columns that are the basis for the collapsable column.

Is this really the behavior when it comes to collapsable columns and exporting to excel?

Example:

Column A toggles Column B, Column C and Column D.

Thanks,

Joseph

I've solved this issue setting the hidden columns to be by defualt visible and then letting the user decide if to hide them or not.

In this way excel export it is correct.

HTH.

Alberto

|||

Hello Alberto,

Would you mind sharing your findings?

Thanks,

Joseph

|||I will appreciate if you could post the code and explanation how you did that.

Cognos Powerplay and Analysis 2005

Hi everybody,

we have an AS2000 cube and we use Cognos Powerplay for reporting.
We are investigating about migrating to AS2005 and we are looking for information about compatibility between 2005 and Powerplay.

If anyone can help us.
Thank you.We are also using PowerPlay to deliver MSAS 2000 cubes. According to Cognos Support: "At this time, MS SAS 2005 is not supported with Cognos including the latest version Cognos 8." I have not attempted to install PTS9.exe and SQL Native Client on our production server to test the connections. I have verified it does not work with the older version.

Sunday, March 11, 2012

Cognos and SQL Server 2005 Reporting Services

Hi,

I would like to get the differences between Cognos and SQL Server 2005 Reporting Services.One of the client is planning to Use Cognos and I am supporting SQL server 2005 Reporting Services.

Details regarding the pros and cons of SQL Server 2005 Reporting Services would be great.

I am looking for the details like this.

Cost of Cognos licencing Vs SQL Server Reporting services licensing?

Usability issues?,etc.

Any link to the comparision study between SQL server Reporting services and Cognos?

Thanks!

Raju

http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci1141747,00.html

try this link

Thursday, March 8, 2012

Code Problem in Reporting Services 2005

We have just installed SQL Server 2005 Reporting Services and have
encountered an error converting the first report from SQL Server 2000
Reporting Services 2000 to the new version. The error is in using an
embedded code function being used in an expression.
The expression is:
=Code.GetEmployeeId(Fields!EmployeeId.Value).
The code function is:
Public Function GetEmployeeId(ByVal id as Object) As String
Dim text as String
text = iif (IsNothing(id), 0, id)
Return text
End Function
When the expression is edited, the function name. "GetEmployeeId", is
underlined in red and the popup error text says "Unrecognized Identifier."
What do I need to do to be able to get RS 2005 to recognize my function?
Thanks,
Tomits a VB.net code.
try this:
if id is nothing then
return 0
else
return id
end if
"Tom Bean" <tbean@.newsgroup.nospam> wrote in message
news:%23ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl...
> We have just installed SQL Server 2005 Reporting Services and have
> encountered an error converting the first report from SQL Server 2000
> Reporting Services 2000 to the new version. The error is in using an
> embedded code function being used in an expression.
> The expression is:
> =Code.GetEmployeeId(Fields!EmployeeId.Value).
> The code function is:
> Public Function GetEmployeeId(ByVal id as Object) As String
> Dim text as String
> text = iif (IsNothing(id), 0, id)
> Return text
> End Function
> When the expression is edited, the function name. "GetEmployeeId", is
> underlined in red and the popup error text says "Unrecognized Identifier."
> What do I need to do to be able to get RS 2005 to recognize my function?
> Thanks,
> Tom
>|||Hello Tom,
If you use the following expression in a textbox directly, what is the
result?
=Code.GetEmployeeId(nothing)
=Code.GetEmployeeId(1)
Best Regards,
Peter Yang
MCSE2000/2003, MCSA, MCDBA
Microsoft Online Partner Support
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
=====================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
>From: "Tom Bean" <tbean@.newsgroup.nospam>
>Subject: Code Problem in Reporting Services 2005
>Date: Tue, 17 Jan 2006 18:37:33 -0600
>Lines: 26
>X-Priority: 3
>X-MSMail-Priority: Normal
>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>X-RFC2646: Format=Flowed; Original
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>Message-ID: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
>Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.sqlserver.reportingsvcs:67023
>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>We have just installed SQL Server 2005 Reporting Services and have
>encountered an error converting the first report from SQL Server 2000
>Reporting Services 2000 to the new version. The error is in using an
>embedded code function being used in an expression.
>The expression is:
> =Code.GetEmployeeId(Fields!EmployeeId.Value).
>The code function is:
>Public Function GetEmployeeId(ByVal id as Object) As String
> Dim text as String
> text = iif (IsNothing(id), 0, id)
> Return text
>End Function
>When the expression is edited, the function name. "GetEmployeeId", is
>underlined in red and the popup error text says "Unrecognized Identifier."
>What do I need to do to be able to get RS 2005 to recognize my function?
>Thanks,
>Tom
>
>|||Peter,
When I edit the expression, with either 'nothing' or '1' as the parameter,
GetEmployeeId is still underlined in red and the "Unrecognized Identifier"
error still pops up. However, when the report is rendered, the values '0'
and '1' are displayed in the textboxes.
My concern is that some undocumented change has occurred in the way a code
block needs to be formatted in order for the function to be recognized. The
code I showed in my original post is all that is contained in the window on
the Code tab of the reports properties. Does something need to be changed
in the Code window to get the function to be recognized?
Thanks,
Tom
"Peter Yang [MSFT]" <petery@.online.microsoft.com> wrote in message
news:93RJy0%23GGHA.3696@.TK2MSFTNGXA02.phx.gbl...
> Hello Tom,
> If you use the following expression in a textbox directly, what is the
> result?
> =Code.GetEmployeeId(nothing)
> =Code.GetEmployeeId(1)
> Best Regards,
> Peter Yang
> MCSE2000/2003, MCSA, MCDBA
> Microsoft Online Partner Support
> When responding to posts, please "Reply to Group" via your newsreader so
> that others may learn and benefit from your issue.
> =====================================================>
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
> --
>>From: "Tom Bean" <tbean@.newsgroup.nospam>
>>Subject: Code Problem in Reporting Services 2005
>>Date: Tue, 17 Jan 2006 18:37:33 -0600
>>Lines: 26
>>X-Priority: 3
>>X-MSMail-Priority: Normal
>>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>>X-RFC2646: Format=Flowed; Original
>>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>>Message-ID: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
>>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
>>Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.sqlserver.reportingsvcs:67023
>>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>>We have just installed SQL Server 2005 Reporting Services and have
>>encountered an error converting the first report from SQL Server 2000
>>Reporting Services 2000 to the new version. The error is in using an
>>embedded code function being used in an expression.
>>The expression is:
>> =Code.GetEmployeeId(Fields!EmployeeId.Value).
>>The code function is:
>>Public Function GetEmployeeId(ByVal id as Object) As String
>> Dim text as String
>> text = iif (IsNothing(id), 0, id)
>> Return text
>>End Function
>>When the expression is edited, the function name. "GetEmployeeId", is
>>underlined in red and the popup error text says "Unrecognized Identifier."
>>What do I need to do to be able to get RS 2005 to recognize my function?
>>Thanks,
>>Tom
>>
>|||Peter,
After investigating the problem with my report further, I found that the
problem isn't with the code even though an error is raised in the expression
editor. The problem seems to be due to the location of the subreport.
The subreport with the problem is in a cell of a 3 row table that contains
two groups. The first group, the ServiceGroup, is in the first row and the
second group, the EmployeeGroup, is in the second row. If the subreport is
put in a cell in the first row (first group), it works. If the subreport is
put in a cell in the second row (second group), it fails with an "internal
error" message.
Is there some issue with multiple groups in one table that would cause the
subreport to fail?
Thanks,
Tom
"Peter Yang [MSFT]" <petery@.online.microsoft.com> wrote in message
news:93RJy0%23GGHA.3696@.TK2MSFTNGXA02.phx.gbl...
> Hello Tom,
> If you use the following expression in a textbox directly, what is the
> result?
> =Code.GetEmployeeId(nothing)
> =Code.GetEmployeeId(1)
> Best Regards,
> Peter Yang
> MCSE2000/2003, MCSA, MCDBA
> Microsoft Online Partner Support
> When responding to posts, please "Reply to Group" via your newsreader so
> that others may learn and benefit from your issue.
> =====================================================>
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
> --
>>From: "Tom Bean" <tbean@.newsgroup.nospam>
>>Subject: Code Problem in Reporting Services 2005
>>Date: Tue, 17 Jan 2006 18:37:33 -0600
>>Lines: 26
>>X-Priority: 3
>>X-MSMail-Priority: Normal
>>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>>X-RFC2646: Format=Flowed; Original
>>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>>Message-ID: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
>>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
>>Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.sqlserver.reportingsvcs:67023
>>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>>We have just installed SQL Server 2005 Reporting Services and have
>>encountered an error converting the first report from SQL Server 2000
>>Reporting Services 2000 to the new version. The error is in using an
>>embedded code function being used in an expression.
>>The expression is:
>> =Code.GetEmployeeId(Fields!EmployeeId.Value).
>>The code function is:
>>Public Function GetEmployeeId(ByVal id as Object) As String
>> Dim text as String
>> text = iif (IsNothing(id), 0, id)
>> Return text
>>End Function
>>When the expression is edited, the function name. "GetEmployeeId", is
>>underlined in red and the popup error text says "Unrecognized Identifier."
>>What do I need to do to be able to get RS 2005 to recognize my function?
>>Thanks,
>>Tom
>>
>|||Hello Tom,
Since the issue occurs consistently on this specific situation, it is more
like a problem in RS2005 though I did not find any known issue related. You
may want to contact CSS directly so they could look into this in timely
manner.
For a complete list of Microsoft Customer Support Services phone numbers,
please go to the following address on the World Wide Web:
<http://support.microsoft.com/directory/overview.asp>
If you are outside the US please see http://support.microsoft.com for
regional support phone numbers.
Best Regards,
Peter Yang
MCSE2000/2003, MCSA, MCDBA
Microsoft Online Partner Support
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
=====================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
>From: "Tom Bean" <tbean@.newsgroup.nospam>
>References: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
<93RJy0#GGHA.3696@.TK2MSFTNGXA02.phx.gbl>
>Subject: Re: Code Problem in Reporting Services 2005
>Date: Wed, 18 Jan 2006 14:46:54 -0600
>Lines: 92
>X-Priority: 3
>X-MSMail-Priority: Normal
>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>X-RFC2646: Format=Flowed; Original
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>Message-ID: <uTsaQBHHGHA.3700@.TK2MSFTNGP15.phx.gbl>
>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP15.phx.gbl
>Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.sqlserver.reportingsvcs:67080
>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>Peter,
>After investigating the problem with my report further, I found that the
>problem isn't with the code even though an error is raised in the
expression
>editor. The problem seems to be due to the location of the subreport.
>The subreport with the problem is in a cell of a 3 row table that contains
>two groups. The first group, the ServiceGroup, is in the first row and
the
>second group, the EmployeeGroup, is in the second row. If the subreport
is
>put in a cell in the first row (first group), it works. If the subreport
is
>put in a cell in the second row (second group), it fails with an "internal
>error" message.
>Is there some issue with multiple groups in one table that would cause the
>subreport to fail?
>Thanks,
>Tom
>"Peter Yang [MSFT]" <petery@.online.microsoft.com> wrote in message
>news:93RJy0%23GGHA.3696@.TK2MSFTNGXA02.phx.gbl...
>> Hello Tom,
>> If you use the following expression in a textbox directly, what is the
>> result?
>> =Code.GetEmployeeId(nothing)
>> =Code.GetEmployeeId(1)
>> Best Regards,
>> Peter Yang
>> MCSE2000/2003, MCSA, MCDBA
>> Microsoft Online Partner Support
>> When responding to posts, please "Reply to Group" via your newsreader so
>> that others may learn and benefit from your issue.
>> =====================================================>>
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>> --
>>From: "Tom Bean" <tbean@.newsgroup.nospam>
>>Subject: Code Problem in Reporting Services 2005
>>Date: Tue, 17 Jan 2006 18:37:33 -0600
>>Lines: 26
>>X-Priority: 3
>>X-MSMail-Priority: Normal
>>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>>X-RFC2646: Format=Flowed; Original
>>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>>Message-ID: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
>>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
>>Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.sqlserver.reportingsvcs:67023
>>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>>We have just installed SQL Server 2005 Reporting Services and have
>>encountered an error converting the first report from SQL Server 2000
>>Reporting Services 2000 to the new version. The error is in using an
>>embedded code function being used in an expression.
>>The expression is:
>> =Code.GetEmployeeId(Fields!EmployeeId.Value).
>>The code function is:
>>Public Function GetEmployeeId(ByVal id as Object) As String
>> Dim text as String
>> text = iif (IsNothing(id), 0, id)
>> Return text
>>End Function
>>When the expression is edited, the function name. "GetEmployeeId", is
>>underlined in red and the popup error text says "Unrecognized
Identifier."
>>What do I need to do to be able to get RS 2005 to recognize my function?
>>Thanks,
>>Tom
>>
>>
>
>|||Peter,
I have rewritten my query so the second subreport, in the second row/group,
is no longer necessary. This provides me with a usable workaround but I
think you should escalate this problem to the Reporting Services group to
they can restore the functionality that was available in RS2000.
Thanks,
Tom
"Peter Yang [MSFT]" <petery@.online.microsoft.com> wrote in message
news:fT%23Yc2NHGHA.1240@.TK2MSFTNGXA02.phx.gbl...
> Hello Tom,
> Since the issue occurs consistently on this specific situation, it is more
> like a problem in RS2005 though I did not find any known issue related.
> You
> may want to contact CSS directly so they could look into this in timely
> manner.
> For a complete list of Microsoft Customer Support Services phone numbers,
> please go to the following address on the World Wide Web:
> <http://support.microsoft.com/directory/overview.asp>
> If you are outside the US please see http://support.microsoft.com for
> regional support phone numbers.
> Best Regards,
> Peter Yang
> MCSE2000/2003, MCSA, MCDBA
> Microsoft Online Partner Support
> When responding to posts, please "Reply to Group" via your newsreader so
> that others may learn and benefit from your issue.
> =====================================================>
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
> --
>>From: "Tom Bean" <tbean@.newsgroup.nospam>
>>References: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
> <93RJy0#GGHA.3696@.TK2MSFTNGXA02.phx.gbl>
>>Subject: Re: Code Problem in Reporting Services 2005
>>Date: Wed, 18 Jan 2006 14:46:54 -0600
>>Lines: 92
>>X-Priority: 3
>>X-MSMail-Priority: Normal
>>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>>X-RFC2646: Format=Flowed; Original
>>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>>Message-ID: <uTsaQBHHGHA.3700@.TK2MSFTNGP15.phx.gbl>
>>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP15.phx.gbl
>>Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.sqlserver.reportingsvcs:67080
>>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>>Peter,
>>After investigating the problem with my report further, I found that the
>>problem isn't with the code even though an error is raised in the
> expression
>>editor. The problem seems to be due to the location of the subreport.
>>The subreport with the problem is in a cell of a 3 row table that contains
>>two groups. The first group, the ServiceGroup, is in the first row and
> the
>>second group, the EmployeeGroup, is in the second row. If the subreport
> is
>>put in a cell in the first row (first group), it works. If the subreport
> is
>>put in a cell in the second row (second group), it fails with an "internal
>>error" message.
>>Is there some issue with multiple groups in one table that would cause the
>>subreport to fail?
>>Thanks,
>>Tom
>>"Peter Yang [MSFT]" <petery@.online.microsoft.com> wrote in message
>>news:93RJy0%23GGHA.3696@.TK2MSFTNGXA02.phx.gbl...
>> Hello Tom,
>> If you use the following expression in a textbox directly, what is the
>> result?
>> =Code.GetEmployeeId(nothing)
>> =Code.GetEmployeeId(1)
>> Best Regards,
>> Peter Yang
>> MCSE2000/2003, MCSA, MCDBA
>> Microsoft Online Partner Support
>> When responding to posts, please "Reply to Group" via your newsreader so
>> that others may learn and benefit from your issue.
>> =====================================================>>
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>> --
>>From: "Tom Bean" <tbean@.newsgroup.nospam>
>>Subject: Code Problem in Reporting Services 2005
>>Date: Tue, 17 Jan 2006 18:37:33 -0600
>>Lines: 26
>>X-Priority: 3
>>X-MSMail-Priority: Normal
>>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>>X-RFC2646: Format=Flowed; Original
>>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>>Message-ID: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
>>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
>>Xref: TK2MSFTNGXA02.phx.gbl
> microsoft.public.sqlserver.reportingsvcs:67023
>>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>>We have just installed SQL Server 2005 Reporting Services and have
>>encountered an error converting the first report from SQL Server 2000
>>Reporting Services 2000 to the new version. The error is in using an
>>embedded code function being used in an expression.
>>The expression is:
>> =Code.GetEmployeeId(Fields!EmployeeId.Value).
>>The code function is:
>>Public Function GetEmployeeId(ByVal id as Object) As String
>> Dim text as String
>> text = iif (IsNothing(id), 0, id)
>> Return text
>>End Function
>>When the expression is edited, the function name. "GetEmployeeId", is
>>underlined in red and the popup error text says "Unrecognized
> Identifier."
>>What do I need to do to be able to get RS 2005 to recognize my function?
>>Thanks,
>>Tom
>>
>>
>>
>|||Hello Tom,
Thank you for your feedback. Please rest assured that this issue has been
report to the proper channel. If there is any update about this, we will
let you know.
Best Regards,
Peter Yang
MCSE2000/2003, MCSA, MCDBA
Microsoft Online Partner Support
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
=====================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
>From: "Tom Bean" <tbean@.newsgroup.nospam>
>References: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
<93RJy0#GGHA.3696@.TK2MSFTNGXA02.phx.gbl>
<uTsaQBHHGHA.3700@.TK2MSFTNGP15.phx.gbl>
<fT#Yc2NHGHA.1240@.TK2MSFTNGXA02.phx.gbl>
>Subject: Re: Code Problem in Reporting Services 2005
>Date: Thu, 19 Jan 2006 08:46:54 -0600
>Lines: 165
>X-Priority: 3
>X-MSMail-Priority: Normal
>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>X-RFC2646: Format=Flowed; Original
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>Message-ID: <O676qcQHGHA.984@.tk2msftngp13.phx.gbl>
>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
>Xref: TK2MSFTNGXA02.phx.gbl microsoft.public.sqlserver.reportingsvcs:67121
>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>Peter,
>I have rewritten my query so the second subreport, in the second
row/group,
>is no longer necessary. This provides me with a usable workaround but I
>think you should escalate this problem to the Reporting Services group to
>they can restore the functionality that was available in RS2000.
>Thanks,
>Tom
>"Peter Yang [MSFT]" <petery@.online.microsoft.com> wrote in message
>news:fT%23Yc2NHGHA.1240@.TK2MSFTNGXA02.phx.gbl...
>> Hello Tom,
>> Since the issue occurs consistently on this specific situation, it is
more
>> like a problem in RS2005 though I did not find any known issue related.
>> You
>> may want to contact CSS directly so they could look into this in timely
>> manner.
>> For a complete list of Microsoft Customer Support Services phone numbers,
>> please go to the following address on the World Wide Web:
>> <http://support.microsoft.com/directory/overview.asp>
>> If you are outside the US please see http://support.microsoft.com for
>> regional support phone numbers.
>> Best Regards,
>> Peter Yang
>> MCSE2000/2003, MCSA, MCDBA
>> Microsoft Online Partner Support
>> When responding to posts, please "Reply to Group" via your newsreader so
>> that others may learn and benefit from your issue.
>> =====================================================>>
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>> --
>>From: "Tom Bean" <tbean@.newsgroup.nospam>
>>References: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
>> <93RJy0#GGHA.3696@.TK2MSFTNGXA02.phx.gbl>
>>Subject: Re: Code Problem in Reporting Services 2005
>>Date: Wed, 18 Jan 2006 14:46:54 -0600
>>Lines: 92
>>X-Priority: 3
>>X-MSMail-Priority: Normal
>>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>>X-RFC2646: Format=Flowed; Original
>>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>>Message-ID: <uTsaQBHHGHA.3700@.TK2MSFTNGP15.phx.gbl>
>>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP15.phx.gbl
>>Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.sqlserver.reportingsvcs:67080
>>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>>Peter,
>>After investigating the problem with my report further, I found that the
>>problem isn't with the code even though an error is raised in the
>> expression
>>editor. The problem seems to be due to the location of the subreport.
>>The subreport with the problem is in a cell of a 3 row table that
contains
>>two groups. The first group, the ServiceGroup, is in the first row and
>> the
>>second group, the EmployeeGroup, is in the second row. If the subreport
>> is
>>put in a cell in the first row (first group), it works. If the subreport
>> is
>>put in a cell in the second row (second group), it fails with an
"internal
>>error" message.
>>Is there some issue with multiple groups in one table that would cause
the
>>subreport to fail?
>>Thanks,
>>Tom
>>"Peter Yang [MSFT]" <petery@.online.microsoft.com> wrote in message
>>news:93RJy0%23GGHA.3696@.TK2MSFTNGXA02.phx.gbl...
>> Hello Tom,
>> If you use the following expression in a textbox directly, what is the
>> result?
>> =Code.GetEmployeeId(nothing)
>> =Code.GetEmployeeId(1)
>> Best Regards,
>> Peter Yang
>> MCSE2000/2003, MCSA, MCDBA
>> Microsoft Online Partner Support
>> When responding to posts, please "Reply to Group" via your newsreader
so
>> that others may learn and benefit from your issue.
>> =====================================================>>
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>> --
>>From: "Tom Bean" <tbean@.newsgroup.nospam>
>>Subject: Code Problem in Reporting Services 2005
>>Date: Tue, 17 Jan 2006 18:37:33 -0600
>>Lines: 26
>>X-Priority: 3
>>X-MSMail-Priority: Normal
>>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>>X-RFC2646: Format=Flowed; Original
>>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>>Message-ID: <#ZXpud8GGHA.1100@.TK2MSFTNGP10.phx.gbl>
>>Newsgroups: microsoft.public.sqlserver.reportingsvcs
>>NNTP-Posting-Host: 71.4.140.141.ptr.us.xo.net 71.4.140.141
>>Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
>>Xref: TK2MSFTNGXA02.phx.gbl
>> microsoft.public.sqlserver.reportingsvcs:67023
>>X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
>>We have just installed SQL Server 2005 Reporting Services and have
>>encountered an error converting the first report from SQL Server 2000
>>Reporting Services 2000 to the new version. The error is in using an
>>embedded code function being used in an expression.
>>The expression is:
>> =Code.GetEmployeeId(Fields!EmployeeId.Value).
>>The code function is:
>>Public Function GetEmployeeId(ByVal id as Object) As String
>> Dim text as String
>> text = iif (IsNothing(id), 0, id)
>> Return text
>>End Function
>>When the expression is edited, the function name. "GetEmployeeId", is
>>underlined in red and the popup error text says "Unrecognized
>> Identifier."
>>What do I need to do to be able to get RS 2005 to recognize my
function?
>>Thanks,
>>Tom
>>
>>
>>
>>
>
>

Wednesday, March 7, 2012

Code Access Security in SQL Server 2000 Reporting Services

I have a 3rd party DLL that I need to give Full Trust to. Here is the code in
the prvpolicy.config file I am using to do so. My question is, what am I
doing wrong?
Does it need a certain name or is the <IMembershipCondition
class="UrlMembershipCondition" the wrong thing or?
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="AzaleaBarcode"
Description="Code group for processing azalea font barcodes">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Azalea\Bar Code Engine\Barcode.dll"
/>
</CodeGroup>We're working on the same exact problem. Has anyone solved this problem?
"Pinolian" <Pinolian@.discussions.microsoft.com> wrote in message news:<B8247CA5-44C0-4E59-BE3D-EABDFC22EEE1@.microsoft.com>...
> I have a 3rd party DLL that I need to give Full Trust to. Here is the code in
> the prvpolicy.config file I am using to do so. My question is, what am I
> doing wrong?
> Does it need a certain name or is the <IMembershipCondition
> class="UrlMembershipCondition" the wrong thing or?
>
> <CodeGroup class="UnionCodeGroup"
> version="1"
> PermissionSetName="FullTrust"
> Name="AzaleaBarcode"
> Description="Code group for processing azalea font barcodes">
> <IMembershipCondition class="UrlMembershipCondition"
> version="1"
> Url="C:\Program Files\Azalea\Bar Code Engine\Barcode.dll"
> />
> </CodeGroup>

Code Access Security across multiple assembly security extension

Hello there I have trying to figure out for days how to enable FullTrust for my Reporting Services security extension.

I can successfully run the sample, but my implementation which splits the data and verification logic across two dlls fails each time it reaches the data layer.

Simply and succinctly as I can write it my security extension consists of the following.

Business.dll
This dll is configured in RSReportServer.config, again as per the Microsoft sample.
This dll is also configured in rssvrpolicy.config, I have used UrlMembershipCondition and StrongNameMemberCondition successfully.
This is called successfully by Reporting Service security extension as it is set up no differently to the samples from Microsoft.
I can even debug into this dll to the point it fails.

Data.dll
This is called by the Business.dll to get any data from the database used to authenticate the user.

It is the call to Data.dll that fails, with System.Web.Services.Protocols.SoapException: Server was unable to process request. > System.Security.Policy.PolicyException: Required permissions cannot be acquired

So how do I enable the security extension to allow access to Data.dll.

I imagine it is a matter of finding the right code group combination but I can't seem to fathom it out. Or am I barking up the wrong tree.

I am also using Enterprise Library, so I guess I would have to apply any solution to those dlls too.

Many thanks for any help in advance,

Gurbhajan

ps ignore my lame signature below.Forgive me I just realised this is 2005 only forum, I was referring to 2000.

If the same solution applies to 2005 and 2000, I shall be happy to hear that too as I shall use the 2005 when it released and so will have to migrate the code.

Thanks again,

Gurbhajan|||i am experiencing a similar issue. my custom authentication DLL worked until i changed it to call out to a web service using WSE2.0(sp3). as soon as it tries to create the instance of my proxy class, i get that error. has anyone figured this out?|||i should add that my authentication DLL actually calls methods in two other DLLs - Microsoft.Web.Services2.dll and a little error logger i wrote. i configured the error logger in rssrvpolicy.config, and it works without a hitch. i tried the same with the WSE DLL, in c:\program files\microsoft wse\v2.0, but no go. is it because Microsoft.Web.Services2.dll is in the GAC? how do i go about instructing Reporting Services to trust a DLL that's in the GAC?

... so i decided to see if i could find out before posting that... and it was good thinking. i added the following to rssrvpolicy.config:

<CodeGroup class="UnionCodeGroup" Version="1" PermissionSetName="FullTrust" Name="assemblies in the GAC">
<IMembershipCondition class="UrlMembershipCondition" Version="1" Url="$Gac$/*" />
</CodeGroup>

and my WSE proxy went and did its thing and there was much rejoicing. now, i'm guessing that the $GAC$/* is probably overkill since it trusts everything in the GAC, but i believe we've learned that you can trust assemblies in the GAC with $GAC$/assembly name. i'll try later, but i'm satisfied with this for now.

to the original poster: does your DLL reference any GAC DLLs that aren't signed with the Microsoft strong name (WSE apparently is not)? i tried to fix the error by wrapping my proxy in another DLL, into which i could step with the debugger fine, but i still got that error as soon as any method tried to touch a reference to the WSE proxy class. that's what keyed me off to trusting the DLL in the GAC.

i hope this helps.|||i couldn't get $gac$/assemblyname to work. but i replaced it with a StrongNameMembershipCondition with the PublicKeyBlob extracted from Microsoft.Web.Services2.dll, and i am now in business.

but if you're not using WSE, then this probably won't help. but i guess good advice would be to make sure any assemblies your custom DLL is using have a strong name, and be sure they're in the policy file.|||

sorry to spam your thread. but i belatedly noticed that you said you're using Enterprise Library. so make sure the EL assemblies are signed (you may have to sign them yourself) and add a code group for that (there are already a few StrongNameMembershipCondition code groups in rssrvpolicy.config, if you need examples) or just add code groups for the individual assemblies you're using. basically, everything you're using needs to be trusted, or it probably won't work.

|||Thank you Scott, I have only just returned to this thread after having solved the problem some time ago with the very solution you have described.

It is rather a big job signing Enterprise Library but the trick is to sign it with one key so that you only need to add one Code Group to the policy file to cover all of the dlls that may be loaded by your custom extension.

I shall update this thread further a little later on as I am now in the middle of deploying the solution and add any new experiences if I encounter them.

Gurbhajan|||

Also, if you have assemblies that you CANNOT sign, try using the UrlMembershipCondition for those assemblies. I just did this with a custom FormsAuth Security Extension that had dependencies upon 3rd party libraries that were not signed.

Someone really needs to write a small whitepaper on CAS and Sql Reporting extensions, since it can be quite a pain.

Maybe I'll blog about it one day when I have more time.... (note to self)

~Lance

|||

I echo that. There are very few documented use cases and majority of developers are struggling with security set-up. A lot of time can be saved if clear examples are given.

We also need recommnedations for best practices as there are many ways to implement code security.

Code Access Security across multiple assembly security extension

Hello there I have trying to figure out for days how to enable FullTrust for my Reporting Services security extension.

I can successfully run the sample, but my implementation which splits the data and verification logic across two dlls fails each time it reaches the data layer.

Simply and succinctly as I can write it my security extension consists of the following.

Business.dll
This dll is configured in RSReportServer.config, again as per the Microsoft sample.
This dll is also configured in rssvrpolicy.config, I have used UrlMembershipCondition and StrongNameMemberCondition successfully.
This is called successfully by Reporting Service security extension as it is set up no differently to the samples from Microsoft.
I can even debug into this dll to the point it fails.

Data.dll
This is called by the Business.dll to get any data from the database used to authenticate the user.

It is the call to Data.dll that fails, with System.Web.Services.Protocols.SoapException: Server was unable to process request. > System.Security.Policy.PolicyException: Required permissions cannot be acquired

So how do I enable the security extension to allow access to Data.dll.

I imagine it is a matter of finding the right code group combination but I can't seem to fathom it out. Or am I barking up the wrong tree.

I am also using Enterprise Library, so I guess I would have to apply any solution to those dlls too.

Many thanks for any help in advance,

Gurbhajan

ps ignore my lame signature below.Forgive me I just realised this is 2005 only forum, I was referring to 2000.

If the same solution applies to 2005 and 2000, I shall be happy to hear that too as I shall use the 2005 when it released and so will have to migrate the code.

Thanks again,

Gurbhajan|||i am experiencing a similar issue. my custom authentication DLL worked until i changed it to call out to a web service using WSE2.0(sp3). as soon as it tries to create the instance of my proxy class, i get that error. has anyone figured this out?|||i should add that my authentication DLL actually calls methods in two other DLLs - Microsoft.Web.Services2.dll and a little error logger i wrote. i configured the error logger in rssrvpolicy.config, and it works without a hitch. i tried the same with the WSE DLL, in c:\program files\microsoft wse\v2.0, but no go. is it because Microsoft.Web.Services2.dll is in the GAC? how do i go about instructing Reporting Services to trust a DLL that's in the GAC?

... so i decided to see if i could find out before posting that... and it was good thinking. i added the following to rssrvpolicy.config:

<CodeGroup class="UnionCodeGroup" Version="1" PermissionSetName="FullTrust" Name="assemblies in the GAC">
<IMembershipCondition class="UrlMembershipCondition" Version="1" Url="$Gac$/*" />
</CodeGroup>

and my WSE proxy went and did its thing and there was much rejoicing. now, i'm guessing that the $GAC$/* is probably overkill since it trusts everything in the GAC, but i believe we've learned that you can trust assemblies in the GAC with $GAC$/assembly name. i'll try later, but i'm satisfied with this for now.

to the original poster: does your DLL reference any GAC DLLs that aren't signed with the Microsoft strong name (WSE apparently is not)? i tried to fix the error by wrapping my proxy in another DLL, into which i could step with the debugger fine, but i still got that error as soon as any method tried to touch a reference to the WSE proxy class. that's what keyed me off to trusting the DLL in the GAC.

i hope this helps.|||i couldn't get $gac$/assemblyname to work. but i replaced it with a StrongNameMembershipCondition with the PublicKeyBlob extracted from Microsoft.Web.Services2.dll, and i am now in business.

but if you're not using WSE, then this probably won't help. but i guess good advice would be to make sure any assemblies your custom DLL is using have a strong name, and be sure they're in the policy file.|||

sorry to spam your thread. but i belatedly noticed that you said you're using Enterprise Library. so make sure the EL assemblies are signed (you may have to sign them yourself) and add a code group for that (there are already a few StrongNameMembershipCondition code groups in rssrvpolicy.config, if you need examples) or just add code groups for the individual assemblies you're using. basically, everything you're using needs to be trusted, or it probably won't work.

|||Thank you Scott, I have only just returned to this thread after having solved the problem some time ago with the very solution you have described.

It is rather a big job signing Enterprise Library but the trick is to sign it with one key so that you only need to add one Code Group to the policy file to cover all of the dlls that may be loaded by your custom extension.

I shall update this thread further a little later on as I am now in the middle of deploying the solution and add any new experiences if I encounter them.

Gurbhajan|||

Also, if you have assemblies that you CANNOT sign, try using the UrlMembershipCondition for those assemblies. I just did this with a custom FormsAuth Security Extension that had dependencies upon 3rd party libraries that were not signed.

Someone really needs to write a small whitepaper on CAS and Sql Reporting extensions, since it can be quite a pain.

Maybe I'll blog about it one day when I have more time.... (note to self)

~Lance

|||

I echo that. There are very few documented use cases and majority of developers are struggling with security set-up. A lot of time can be saved if clear examples are given.

We also need recommnedations for best practices as there are many ways to implement code security.

Code Access Security across multiple assembly security extension

Hello there I have trying to figure out for days how to enable FullTrust for my Reporting Services security extension.

I can successfully run the sample, but my implementation which splits the data and verification logic across two dlls fails each time it reaches the data layer.

Simply and succinctly as I can write it my security extension consists of the following.

Business.dll
This dll is configured in RSReportServer.config, again as per the Microsoft sample.
This dll is also configured in rssvrpolicy.config, I have used UrlMembershipCondition and StrongNameMemberCondition successfully.
This is called successfully by Reporting Service security extension as it is set up no differently to the samples from Microsoft.
I can even debug into this dll to the point it fails.

Data.dll
This is called by the Business.dll to get any data from the database used to authenticate the user.

It is the call to Data.dll that fails, with System.Web.Services.Protocols.SoapException: Server was unable to process request. > System.Security.Policy.PolicyException: Required permissions cannot be acquired

So how do I enable the security extension to allow access to Data.dll.

I imagine it is a matter of finding the right code group combination but I can't seem to fathom it out. Or am I barking up the wrong tree.

I am also using Enterprise Library, so I guess I would have to apply any solution to those dlls too.

Many thanks for any help in advance,

Gurbhajan

ps ignore my lame signature below.Forgive me I just realised this is 2005 only forum, I was referring to 2000.

If the same solution applies to 2005 and 2000, I shall be happy to hear that too as I shall use the 2005 when it released and so will have to migrate the code.

Thanks again,

Gurbhajan|||i am experiencing a similar issue. my custom authentication DLL worked until i changed it to call out to a web service using WSE2.0(sp3). as soon as it tries to create the instance of my proxy class, i get that error. has anyone figured this out?|||i should add that my authentication DLL actually calls methods in two other DLLs - Microsoft.Web.Services2.dll and a little error logger i wrote. i configured the error logger in rssrvpolicy.config, and it works without a hitch. i tried the same with the WSE DLL, in c:\program files\microsoft wse\v2.0, but no go. is it because Microsoft.Web.Services2.dll is in the GAC? how do i go about instructing Reporting Services to trust a DLL that's in the GAC?

... so i decided to see if i could find out before posting that... and it was good thinking. i added the following to rssrvpolicy.config:

<CodeGroup class="UnionCodeGroup" Version="1" PermissionSetName="FullTrust" Name="assemblies in the GAC">
<IMembershipCondition class="UrlMembershipCondition" Version="1" Url="$Gac$/*" />
</CodeGroup>

and my WSE proxy went and did its thing and there was much rejoicing. now, i'm guessing that the $GAC$/* is probably overkill since it trusts everything in the GAC, but i believe we've learned that you can trust assemblies in the GAC with $GAC$/assembly name. i'll try later, but i'm satisfied with this for now.

to the original poster: does your DLL reference any GAC DLLs that aren't signed with the Microsoft strong name (WSE apparently is not)? i tried to fix the error by wrapping my proxy in another DLL, into which i could step with the debugger fine, but i still got that error as soon as any method tried to touch a reference to the WSE proxy class. that's what keyed me off to trusting the DLL in the GAC.

i hope this helps.|||i couldn't get $gac$/assemblyname to work. but i replaced it with a StrongNameMembershipCondition with the PublicKeyBlob extracted from Microsoft.Web.Services2.dll, and i am now in business.

but if you're not using WSE, then this probably won't help. but i guess good advice would be to make sure any assemblies your custom DLL is using have a strong name, and be sure they're in the policy file.|||

sorry to spam your thread. but i belatedly noticed that you said you're using Enterprise Library. so make sure the EL assemblies are signed (you may have to sign them yourself) and add a code group for that (there are already a few StrongNameMembershipCondition code groups in rssrvpolicy.config, if you need examples) or just add code groups for the individual assemblies you're using. basically, everything you're using needs to be trusted, or it probably won't work.

|||Thank you Scott, I have only just returned to this thread after having solved the problem some time ago with the very solution you have described.

It is rather a big job signing Enterprise Library but the trick is to sign it with one key so that you only need to add one Code Group to the policy file to cover all of the dlls that may be loaded by your custom extension.

I shall update this thread further a little later on as I am now in the middle of deploying the solution and add any new experiences if I encounter them.

Gurbhajan|||

Also, if you have assemblies that you CANNOT sign, try using the UrlMembershipCondition for those assemblies. I just did this with a custom FormsAuth Security Extension that had dependencies upon 3rd party libraries that were not signed.

Someone really needs to write a small whitepaper on CAS and Sql Reporting extensions, since it can be quite a pain.

Maybe I'll blog about it one day when I have more time.... (note to self)

~Lance

|||

I echo that. There are very few documented use cases and majority of developers are struggling with security set-up. A lot of time can be saved if clear examples are given.

We also need recommnedations for best practices as there are many ways to implement code security.

code a hyperlink

Hi

I have developed a report using microsoft reporting services with certain fields

In my report the user enters name (which is a parameter) and the report is displayed

Inside my report. I have a field studentID which should be a link which when clicked should take me to a new report which is a report in extranet.

Currently I dont have access to that rdl and for certain reasons, I am asked to link to that report by

coding a hyperlink in development

I know that in the text box under action properties I need to give the url , but its not working

Should i specify the student id anywhere .

What and where should I code?

Thanks

If I were going about this, I would use the "Jump to URL" radio button.

However, the problem that you are going to have is passing and retrieving the parameter (as you already see).

Usually, the way you pass a parameter in a URL is as follows:

http://forums.microsoft.com/MSDN/AddPost.aspx?PostID=2009786&SiteID=1

The parameters in the above URL are PostID with value 2009786 and SiteID with value 1.

Now, how you go about retrieving those values in the report from the URL is beyond my experience.

Possibly someone else knows how.

Friday, February 24, 2012

Clustering Reporting Services

Hello,
I'm running a two node cluster, Windows 2003 R2 and SQL 2005. Does anyone
have a white paper or documentation that tells me how to install Reporting
Services as a clustered service? I've never set up a web farm or anyting of
that nature, so any information regarding this would be greatly apprecaited.
Thank you
Alex AndersonI have the same issue here, I'll start installing an active-active cluster
this week and I need to install reporting services on the cluster.
What is the best way to do this.
I asume that reporting services is not cluster aware.
Regards
"Alex Anderson" wrote:
> Hello,
> I'm running a two node cluster, Windows 2003 R2 and SQL 2005. Does anyone
> have a white paper or documentation that tells me how to install Reporting
> Services as a clustered service? I've never set up a web farm or anyting of
> that nature, so any information regarding this would be greatly apprecaited.
> Thank you
> Alex Anderson
>|||Zekske,
What I found out was, depending what version of SQL 2005 you have, I have
standard 2005 which even though SQL is clusterable, reporting services is
not. You will need Enterprise SQL 2005 to be able to cluster reporting
services. I'm just going to run a non-clusterable version of reporting
services.
"Zekske" wrote:
> I have the same issue here, I'll start installing an active-active cluster
> this week and I need to install reporting services on the cluster.
> What is the best way to do this.
> I asume that reporting services is not cluster aware.
> Regards
> "Alex Anderson" wrote:
> > Hello,
> >
> > I'm running a two node cluster, Windows 2003 R2 and SQL 2005. Does anyone
> > have a white paper or documentation that tells me how to install Reporting
> > Services as a clustered service? I've never set up a web farm or anyting of
> > that nature, so any information regarding this would be greatly apprecaited.
> >
> > Thank you
> > Alex Anderson
> >|||OK thanks.
We're installing Enterprise Edition so we'll try the clustering...
Regards
"Alex Anderson" wrote:
> Zekske,
> What I found out was, depending what version of SQL 2005 you have, I have
> standard 2005 which even though SQL is clusterable, reporting services is
> not. You will need Enterprise SQL 2005 to be able to cluster reporting
> services. I'm just going to run a non-clusterable version of reporting
> services.
> "Zekske" wrote:
> > I have the same issue here, I'll start installing an active-active cluster
> > this week and I need to install reporting services on the cluster.
> > What is the best way to do this.
> > I asume that reporting services is not cluster aware.
> > Regards
> >
> > "Alex Anderson" wrote:
> >
> > > Hello,
> > >
> > > I'm running a two node cluster, Windows 2003 R2 and SQL 2005. Does anyone
> > > have a white paper or documentation that tells me how to install Reporting
> > > Services as a clustered service? I've never set up a web farm or anyting of
> > > that nature, so any information regarding this would be greatly apprecaited.
> > >
> > > Thank you
> > > Alex Anderson
> > >

Tuesday, February 14, 2012

Clustered Indexes

We use uniqueidentifiers as our primary key because we have many oltp
systems that get merged into one corporate reporting structure.
Some tables accepted the default behaviour of SQL Server and made the
primary key the clustered index.
Does a clustered index on a GUID sort them in order or does it use them like
a heap table and insert all rows at the end?
Thanks in advance.Yes, the values are sorted, which can also lead to frequent page splits,
which in effect downgrades insert performance. Columns of type
UNIQUEIDENTIFIER are IMHO a lousy choice for clustered indexes for two main
reasons:
1) the size of the data; and
2) high selectiveness (pages get reordered quite frequently).
A performance gain can be achieved, though, by spreading the table on
several files, while keeping the FILL FACTOR of the clustered index low. Thi
s
would increase possibility of paralelism by enabling paralel inserts to occu
r
on different files concurrently.
I'd use a different column for a clustered index - where inserts are
frequent the best candidate IMHO is a column with a small datatype (int,
bigint) with incremental values (such as an IDENTITY column).
ML
http://milambda.blogspot.com/|||Rather than always inserting at the bottom page, a clustered index will
attempt to insert the row within a page so that the rows are clustered
(sorted) based on the value of the key. It's best not to use a clustered
index unless you are attempting to achieve a specific outcome.
You can use DBCC SHOWCONTIG to check for index fragmentation:
http://www.microsoft.com/technet/pr...n/ss2kidbp.mspx
"JI" <jidawgs@.gmail.com> wrote in message
news:OW%23SXUMLGHA.2704@.TK2MSFTNGP15.phx.gbl...
> We use uniqueidentifiers as our primary key because we have many oltp
> systems that get merged into one corporate reporting structure.
> Some tables accepted the default behaviour of SQL Server and made the
> primary key the clustered index.
> Does a clustered index on a GUID sort them in order or does it use them
> like a heap table and insert all rows at the end?
> Thanks in advance.
>|||GUIDs are probably the worst choice for a clustered index, at least as far
as INSERTs go. IDENTITY is probably the best choice for a clustered index
because of its increasing nature, but with many data sources feeding one, it
can be tricky to manage. If the database is designed correctly, each table
should have at least one alternate key, so I'd put the clustered index
there, unless you expect a lot of ranged queries, in which case it may be
better to put the clustered index on the target of the ranged query.
Neither solution may offer much INSERT performance improvement, but it may
significantly improve query performance.
"JI" <jidawgs@.gmail.com> wrote in message
news:OW%23SXUMLGHA.2704@.TK2MSFTNGP15.phx.gbl...
> We use uniqueidentifiers as our primary key because we have many oltp
> systems that get merged into one corporate reporting structure.
> Some tables accepted the default behaviour of SQL Server and made the
> primary key the clustered index.
> Does a clustered index on a GUID sort them in order or does it use them
> like a heap table and insert all rows at the end?
> Thanks in advance.
>|||For sql2k, you can use Gert's xp_new_sequential_guid. This should eliminate
the issues (fragmentation, page split, etc.) with using guid as the primary
key.
http://sqldev.net/xp/xpguid.htm
-oj
"Brian Selzer" <brian@.selzer-software.com> wrote in message
news:eb86LrNLGHA.2780@.tk2msftngp13.phx.gbl...
> GUIDs are probably the worst choice for a clustered index, at least as far
> as INSERTs go. IDENTITY is probably the best choice for a clustered index
> because of its increasing nature, but with many data sources feeding one,
> it can be tricky to manage. If the database is designed correctly, each
> table should have at least one alternate key, so I'd put the clustered
> index there, unless you expect a lot of ranged queries, in which case it
> may be better to put the clustered index on the target of the ranged
> query. Neither solution may offer much INSERT performance improvement, but
> it may significantly improve query performance.
> "JI" <jidawgs@.gmail.com> wrote in message
> news:OW%23SXUMLGHA.2704@.TK2MSFTNGP15.phx.gbl...
>|||This is interesting. It generates a GUID based on the MAC address of the
NIC in the server. The only problem I see is that there are NICs out there
with the same MAC address--even though that's not supposed to happen.
Therefore it's possible for duplicates to be generated on different
machines. Barring that extremely remote possibility, this looks like a good
answer to the problem. SQL 2005 apparently has a NEWSEQUENTIALID() function
that provides this same functionality.
"oj" <nospam_ojngo@.home.com> wrote in message
news:%23GEoJ4NLGHA.668@.TK2MSFTNGP11.phx.gbl...
> For sql2k, you can use Gert's xp_new_sequential_guid. This should
> eliminate the issues (fragmentation, page split, etc.) with using guid as
> the primary key.
> http://sqldev.net/xp/xpguid.htm
>
> --
> -oj
>
> "Brian Selzer" <brian@.selzer-software.com> wrote in message
> news:eb86LrNLGHA.2780@.tk2msftngp13.phx.gbl...
>|||Actually it does not depend on the NIC (as with newid()). ;-)
http://msdn.microsoft.com/library/e...esequential.asp
-oj
"Brian Selzer" <brian@.selzer-software.com> wrote in message
news:%238WfHXOLGHA.360@.TK2MSFTNGP12.phx.gbl...
> This is interesting. It generates a GUID based on the MAC address of the
> NIC in the server. The only problem I see is that there are NICs out
> there with the same MAC address--even though that's not supposed to
> happen. Therefore it's possible for duplicates to be generated on
> different machines. Barring that extremely remote possibility, this looks
> like a good answer to the problem. SQL 2005 apparently has a
> NEWSEQUENTIALID() function that provides this same functionality.
> "oj" <nospam_ojngo@.home.com> wrote in message
> news:%23GEoJ4NLGHA.668@.TK2MSFTNGP11.phx.gbl...
>|||Only if you don't have a NIC in the box. If there's a NIC, then it uses the
MAC.
"oj" <nospam_ojngo@.home.com> wrote in message
news:eYvlNvOLGHA.2124@.TK2MSFTNGP14.phx.gbl...
> Actually it does not depend on the NIC (as with newid()). ;-)
> http://msdn.microsoft.com/library/e...esequential.asp
> --
> -oj
>
> "Brian Selzer" <brian@.selzer-software.com> wrote in message
> news:%238WfHXOLGHA.360@.TK2MSFTNGP12.phx.gbl...
>