Showing posts with label processing. Show all posts
Showing posts with label processing. Show all posts

Sunday, March 11, 2012

Custom Query Designer from VS2003 to VS2005

Hello,

I have a Data Processing Extension (DPE) that worked quite well in VS2003 with MSSQL2000 RS. I'm trying to port it to VS2005 with MSSQL2005 RS and I'm having the following problem.

In 2003 I used Microsoft.ReportDesigner.Interfaces.IQueryDesigner to define the query designer inside of VS2003. In 2005, that line does not compile; I get “The type or namespace ‘interfaces’ does not

exist in the namespace ‘Microsoft.ReportDesigner’ (Are you missing an Assembly

reference?)”

What is the 2005 equivalent of that interface? What's the best way to port an 2003 DPE to 2005?

Thanks

The IQueryDesigner interface has been renamed to Microsoft.ReportingServices.Interfaces.IQueryDesigner and you should add a reference to Microsoft.ReportingServices.QueryDesigners.dll.

-Albert

|||Thanks, that was it.

Wednesday, March 7, 2012

Custom DPE Permission Set

Hi All,
I created a custom data processing extension wrapping calls to the .Net
System.Data.OLEDB classes. I don't want to give the DPE FullTrust
permissions in the rssrvpolicy.config file.
I noticed that there is a SecurityClass entry for SQLClientPermission in
rssrvpolicy.config file. However, it doesn't seem obvious to me how to
create a similar entry for the System.Data.OLEDB classes.
Any ideas, or does everyone simply use FullTrust?
Thanks in advance for help!FullTrust permissions are required for custom data processing extensions at
this point.
-- Robert
This posting is provided "AS IS" with no warranties, and confers no rights.
"Dand" <Dand@.discussions.microsoft.com> wrote in message
news:024D777F-6401-4714-9817-10852BF6189A@.microsoft.com...
> Hi All,
> I created a custom data processing extension wrapping calls to the .Net
> System.Data.OLEDB classes. I don't want to give the DPE FullTrust
> permissions in the rssrvpolicy.config file.
> I noticed that there is a SecurityClass entry for SQLClientPermission in
> rssrvpolicy.config file. However, it doesn't seem obvious to me how to
> create a similar entry for the System.Data.OLEDB classes.
> Any ideas, or does everyone simply use FullTrust?
> Thanks in advance for help!
>

Custom data processing logic

We are developing a web application that has to do a significant amount of
data processing before a report can be run. Please would someone advise me as
to the best place to put this custom data processing logic. Should I do it in
my app beforehand or is there an appropriate hook in the report processing
lifecycle?
Further info:
- The processing involves copying data to snapshot tables and then
enriching this data: the processing is complex and varies depending on the
user.
- We will use security extensions for Forms authentication and custom
authorization.
- We would like the user to be able to use the drill-down feature so would
want to use the web-based Report Viewer.
Any help would be greatly appreciated.
StuHello Stu,
Based on my experience, I suggest you to process your data first when your
user login or just after the login process.
After that, you could show the report.
My suggestion of the report view control is that you use the local report
in your application so that the report will use your custom authentication
and you do not need to customize the authentication in the report server.
All this is to avoid the slow performance of the report to the user.
Please let me know if you have any question.
Sincerely,
Wei Lu
Microsoft Online Community 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.|||Since it is a complex processing and moreover you have developed a web
application, do it in your application and get the final results to be
displayed, that will be faster, so RS will be used for reporting the end
results. Why the processing in your custom applications is that you get very
good flexibility like massaging the data, and filtering as per the user
etc... Finally the reporting part with layout, format, drilldown etc..can be
done using RS.
Amarnath, MCTS.
"Stu" wrote:
> We are developing a web application that has to do a significant amount of
> data processing before a report can be run. Please would someone advise me as
> to the best place to put this custom data processing logic. Should I do it in
> my app beforehand or is there an appropriate hook in the report processing
> lifecycle?
> Further info:
> - The processing involves copying data to snapshot tables and then
> enriching this data: the processing is complex and varies depending on the
> user.
> - We will use security extensions for Forms authentication and custom
> authorization.
> - We would like the user to be able to use the drill-down feature so would
> want to use the web-based Report Viewer.
> Any help would be greatly appreciated.
> Stu|||Thanks. I will look into using the report viewer control.
"Wei Lu [MSFT]" wrote:
> Hello Stu,
> Based on my experience, I suggest you to process your data first when your
> user login or just after the login process.
> After that, you could show the report.
> My suggestion of the report view control is that you use the local report
> in your application so that the report will use your custom authentication
> and you do not need to customize the authentication in the report server.
> All this is to avoid the slow performance of the report to the user.
> Please let me know if you have any question.
> Sincerely,
> Wei Lu
> Microsoft Online Community 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.
>|||Hello Stu,
Thanks for the update. If you have any question , please feel free to let
me know.
Sincerely,
Wei Lu
Microsoft Online Community 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.

Custom Data Processing Extensions/Custom Data Providers

Hello!

I'm trying to understand the limitations that SSRS places on a developing reports involving multiple data sources and how I can possibly create a custom data provider for a report that will consolidate data from multiple data sources..

thanks in advance.

Doug.

If you want to see what is all involved in creating a Custom Data Processing extension, I used the FSI example that comes with the SQL Server install. It gives you a good idea of what needs to be involved.

I extended and added to it a great deal but the basis for what you need to do is in there. It's non-trivial, but very do-able.

|||

I'll look into that!

THanks!!!!

doug

|||

Instead of implementing a data processing extension, you should look at the T-SQL OPENROWSET command

http://msdn2.microsoft.com/en-us/library/ms190312.aspx

Or linking servers

http://msdn2.microsoft.com/en-us/library/ms188279.aspx

These give you the ability to consolidate multiple data sources and it is a lot easier than implementing your own data processing extension to do the same. The only caveat is that it requires SQL Server.

|||

We're using Oracle...so that kind of bites...

well, we've hit a snag in our development of our extension..

I cannot figure out why I get this exception when we try to generate a DataSet in our SSRS IDE:

A connection cannot be made to the database,
Set and test the connection string.
Additional Information:
The data extension FOCUS could not be loaded. Check the the configuration files RSReportDesigner.config(Microsoft.ReportingServices.Designer)


We added the following to the RSReportDesigner.config file:

<Extension Name="FOCUS" Type="PPD.Focus.FocusDPE.FocusDbConn, PPD.Focus.FocusDPE"/>

And the dll's complete with the proper namespaces are all in the proper directories:

C:\Program Files\Microsoft SQL Server\MSSQL.4\Reporting Services\ReportServer\bin\PPD.Focus.FocusDPE.dll
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\PPD.Focus.FocusDPE.dll

We've tried to step into the extension code using a techique outlined in MSDN without any luck. We've also attempted to write out errors the Event Viewer, but it doesn't even seem to get into the connection object,

Any Idea of where I'm going wrong?

thanks!

Doug

Custom Data Processing Extensions/Custom Data Providers

Hello!

I'm trying to understand the limitations that SSRS places on a developing reports involving multiple data sources and how I can possibly create a custom data provider for a report that will consolidate data from multiple data sources..

thanks in advance.

Doug.

If you want to see what is all involved in creating a Custom Data Processing extension, I used the FSI example that comes with the SQL Server install. It gives you a good idea of what needs to be involved.

I extended and added to it a great deal but the basis for what you need to do is in there. It's non-trivial, but very do-able.

|||

I'll look into that!

THanks!!!!

doug

|||

Instead of implementing a data processing extension, you should look at the T-SQL OPENROWSET command

http://msdn2.microsoft.com/en-us/library/ms190312.aspx

Or linking servers

http://msdn2.microsoft.com/en-us/library/ms188279.aspx

These give you the ability to consolidate multiple data sources and it is a lot easier than implementing your own data processing extension to do the same. The only caveat is that it requires SQL Server.

|||

We're using Oracle...so that kind of bites...

well, we've hit a snag in our development of our extension..

I cannot figure out why I get this exception when we try to generate a DataSet in our SSRS IDE:

A connection cannot be made to the database,
Set and test the connection string.
Additional Information:
The data extension FOCUS could not be loaded. Check the the configuration files RSReportDesigner.config(Microsoft.ReportingServices.Designer)


We added the following to the RSReportDesigner.config file:

<Extension Name="FOCUS" Type="PPD.Focus.FocusDPE.FocusDbConn, PPD.Focus.FocusDPE"/>

And the dll's complete with the proper namespaces are all in the proper directories:

C:\Program Files\Microsoft SQL Server\MSSQL.4\Reporting Services\ReportServer\bin\PPD.Focus.FocusDPE.dll
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\PPD.Focus.FocusDPE.dll

We've tried to step into the extension code using a techique outlined in MSDN without any luck. We've also attempted to write out errors the Event Viewer, but it doesn't even seem to get into the connection object,

Any Idea of where I'm going wrong?

thanks!

Doug

Custom data processing extension with dataset

I have been getting to grips with writing a custom data processing extension for using a supplied dataset. I have got it working OK so far, but I don't see how to make use of relational data. There's plenty of code for walking through the fields, but nothing to walk through the tables. Since this clearly has to be possible can someone tell me where I'm going wrong?

Thanks

John Williams.

John,

A CustomReportItem only has one reporting services dataset, which is only a single table, so there are no tables to walk through.

Ian|||

This seems extraordinary! Is there really no way of reporting on more complex data when using a data processing extension?

I suppose theoretically it might be possible to write one dpx for each table, using one table in the main report and one in a sub-report, etc. But when running the reports how would you pass the dataset across ensuring that each dpx received the data that it needed?

We were hoping to use SSRS as a drop in replacement for Crystal Reports, but this is a major blow as it will mean extensive rewriting of our application in order to store the data in to temporary tables in SQL server in order to report on it, and then delete the data afterwards.

|||
Each subreport has its own datasets, separate from the main report's datasets. It is just that you can only have one dataset per data region.

Ian

Custom Data Processing Extension

HI everyone,
i want to develop my own data processing extension.
But i'm struggeling with the following issue:
I want to enable a user to select my custom datasource, then make a
connection to central server, that hosts abstract "Business Objects".
After that the user should be able to use the report wizard in VS.NET to
retrieve a list of all Business Objects that are hosted on that central
server and select a specific output table of a method of a business object.
But how can i embed my own UI to support such a scenario?
Thanks in advance,
MarkusYou can specify the designer associated with your custom data-extension
via the following config file:
C:\Program Files\Microsoft SQL Server\80\Tools\Report
Designer\RSReportDesigner.config
You would need to modify the associated designer within the <Designer>
group. The default designer for SQL Server is:
Microsoft.ReportDesigner.Design.VDTQueryDesigner
To create a custom designer, you would need to derrive from:
Microsoft.ReportDesigner.Design.InternalQueryDesigner
...and implement your own custom controls for the designer.
However, after having said all this, I really havent had a need to
implement a custom designer so far. In most cases, I just set the
designer to: Microsoft.ReportDesigner.Design.GenericQueryDesigner
Then, I just intercept the CommandText and do whatever I need to with
my data extension. I have had success doing this with Xml and other
text as the CommandText instead of SQL. Obviously, this won't provide
the users with your list of all Business Objects available, but it
works.
Good luck.
Lance Hunt
http://www.lance-hunt.net/|||One other alternative is to have the business-object selection be a
per-datasource configuration instead of something driven thru the query
designers.
This approach would entail extending the connection-string editor
dialog and may be a bit simpler. (just guessing)|||Hi Lance,
thanks for your great first answer! I'm in the middle of building my own UI
for selecting business entites but am facing a very strange problem...:
I inherited "Microsoft.ReportDesigner.Design.InternalQueryDesigner" and
there is one member "DesignerQueryString" that is marked as internal and
abstract.
But i'm not able to override this member in my class... i tried everything,
it's really strange :-)
Any guess?
Greetings
Markus|||Sorry, I didnt notice that field was internal-abstract. Thats pretty
silly since MS marked the class as public abstract! :(
I guess your only choice is to create your designer based upon
Microsoft.ReportDesigner.Interfaces.IQueryDesigner instead of
InternalQueryDesigner. This just means that you will have to do a bit
more plumbing. Its a shame because InternalQueryDesigner would have
worked if it werent for that one field.
Good luck...|||it's working!!! :-)))))
One (hopefully) last question:
Why doesn't the QueryBuilder show up in the Repord Wizard Form? The "Edit"
Button is disabled. But if i select anoter data source (e.g. SQL) this button
is enabled.
Greetings
Markus
"Lance" wrote:
> Sorry, I didnt notice that field was internal-abstract. Thats pretty
> silly since MS marked the class as public abstract! :(
> I guess your only choice is to create your designer based upon
> Microsoft.ReportDesigner.Interfaces.IQueryDesigner instead of
> InternalQueryDesigner. This just means that you will have to do a bit
> more plumbing. Its a shame because InternalQueryDesigner would have
> worked if it werent for that one field.
> Good luck...
>|||Which "Edit" button is disabled? (there are several)
If you are basically saying your designer isnt wired-up (not visible):
Did you add your extension to the config file at:
C:\Program Files\Microsoft SQL Server\80\Tools\Report
Designer\RSReportDesigner.conf=ADig '
You should end up adding multiple nodes to this file:
The first is the \Configuration\Extensions\Data\Extension XML
Element, and the second is
the \Configuration\Extensions\\Data\Designer element. Make sure
the "name" attribute
matches in both nodes.
Please clarify...
Lance|||Sorry, I misread your post. You are referring to the "Report Wizard"
not the DataSet tab.
I'll take a look at this and see if I can figure it out...|||yes, i already added all the nodes to the .config file.
But the edit button is disabled. I mean the button on the very last dialog
at "Reports->Add New Report" right to the "Query String" TextBox.
"Lance" wrote:
> Which "Edit" button is disabled? (there are several)
> If you are basically saying your designer isnt wired-up (not visible):
> Did you add your extension to the config file at:
> C:\Program Files\Microsoft SQL Server\80\Tools\Report
> Designer\RSReportDesigner.conf­ig '
> You should end up adding multiple nodes to this file:
> The first is the \Configuration\Extensions\Data\Extension XML
> Element, and the second is
> the \Configuration\Extensions\\Data\Designer element. Make sure
> the "name" attribute
> matches in both nodes.
> Please clarify...
> Lance
>|||Unfortunately, you cannot enable this.
The wizard is hard-coded to only support the following DataExtensions:
"Microsoft.ReportingServices.DataExtensions.SqlConnectionWrapper"
"Microsoft.ReportingServices.DataExtensions.OleDbConnectionWrapper"
"Microsoft.ReportingServices.DataExtensions.AdoMdConnection"
"Microsoft.ReportingServices.DataExtensions.OdbcConnectionWrapper"
"Microsoft.ReportingServices.DataExtensions.OracleClientConnectionWrapper"
Therefore, unless you write your own wizard, you will be unable to
enable that Edit button.|||wow... that is real extensibility ;-)))
"Lance" wrote:
> Unfortunately, you cannot enable this.
> The wizard is hard-coded to only support the following DataExtensions:
> "Microsoft.ReportingServices.DataExtensions.SqlConnectionWrapper"
> "Microsoft.ReportingServices.DataExtensions.OleDbConnectionWrapper"
> "Microsoft.ReportingServices.DataExtensions.AdoMdConnection"
> "Microsoft.ReportingServices.DataExtensions.OdbcConnectionWrapper"
> "Microsoft.ReportingServices.DataExtensions.OracleClientConnectionWrapper"
> Therefore, unless you write your own wizard, you will be unable to
> enable that Edit button.
>|||Agreed. Its pretty sad. The funny part is that I see no legitimate
reason why they included that restriction. Had they simply followed
the same model used in the designer-integration it should have worked.
*shrugs*
I havent checked the new Reporting implementation in Sql Server 2005
yet, but it may be fixed in that version.

Saturday, February 25, 2012

Custom Data Extension Trace

Hi,
could anybody help to figure out what is the correct (recommended) way to
write trace messages for custom data processing extension? I have written
such an extension and I would like to enable trace for it to be able to see
how it performs through the time.
I tried to write trace messages using RSTrace, but I got permission
exception and I guess it means that reporting services prevents to use this
class in different assembly than ReportingServices.Diagnostics.dll.
Then I tried to add trace listener (TextWriterTraceListener) to
<system.diagnostics> section of ReportingServicesService.exe.config file.
Doing so I got an IOException that the target file is used by different
process and report server refuse to start at all.
Is it possible to somhow use System.Diagnostics.Trace in custom data
extension?
Thanks,
MarekI'm not sure, but I'm just guessing you'll need to add some lines to the
rssrvpolicy.config file located here:
C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer
Have you done this?
--
Cheers,
'(' Jeff A. Stucker
\
Business Intelligence
www.criadvantage.com
---
"Marek Zoth" <MarekZoth@.discussions.microsoft.com> wrote in message
news:EE4A6E80-6FDB-4900-8835-5F8117285E6F@.microsoft.com...
> Hi,
> could anybody help to figure out what is the correct (recommended) way to
> write trace messages for custom data processing extension? I have written
> such an extension and I would like to enable trace for it to be able to
> see
> how it performs through the time.
> I tried to write trace messages using RSTrace, but I got permission
> exception and I guess it means that reporting services prevents to use
> this
> class in different assembly than ReportingServices.Diagnostics.dll.
> Then I tried to add trace listener (TextWriterTraceListener) to
> <system.diagnostics> section of ReportingServicesService.exe.config file.
> Doing so I got an IOException that the target file is used by different
> process and report server refuse to start at all.
> Is it possible to somhow use System.Diagnostics.Trace in custom data
> extension?
> Thanks,
> Marek|||Thanks Jeff,
I tried, my extension runs in FullTrust mode and I tried to increase
permissions also for ReportingServices.Diagnostics.dll but no success. The
exception I got is:
--> System.Security.SecurityException: Request for the permission of type
System.Security.Permissions.StrongNameIdentityPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
at DataExtension.TACommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.ReportingServices.ReportProcessing.a0.v()
The state of the failed permission was:
<IPermission
class="System.Security.Permissions.StrongNameIdentityPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100272736AD6E5F9586BAC2D531EABC3ACC666C2F8EC879FA94F8F7B0327D2FF2ED523448F83C3D5C5DD2DFC7BC99C5286B2C125117BF5CBE242B9D41750732B2BDFFE649C6EFB8E5526D526FDD130095ECDB7BF210809C6CDAD8824FAA9AC0310AC3CBA2AA0523567B2DFA7FE250B30FACBD62D4EC99B94AC47C7D3B28F1F6E4C8"/>
I am not sure what it exactly means but looking to MSDN it seeem to me RS
prevents calling RSTrace. Or am I wrong?
Any idea how to write traces in custom data extensions is appreciated.
Thanks,
M.
"Jeff A. Stucker" wrote:
> I'm not sure, but I'm just guessing you'll need to add some lines to the
> rssrvpolicy.config file located here:
> C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer
> Have you done this?
> --
> Cheers,
> '(' Jeff A. Stucker
> \
> Business Intelligence
> www.criadvantage.com
> ---
> "Marek Zoth" <MarekZoth@.discussions.microsoft.com> wrote in message
> news:EE4A6E80-6FDB-4900-8835-5F8117285E6F@.microsoft.com...
> > Hi,
> >
> > could anybody help to figure out what is the correct (recommended) way to
> > write trace messages for custom data processing extension? I have written
> > such an extension and I would like to enable trace for it to be able to
> > see
> > how it performs through the time.
> >
> > I tried to write trace messages using RSTrace, but I got permission
> > exception and I guess it means that reporting services prevents to use
> > this
> > class in different assembly than ReportingServices.Diagnostics.dll.
> >
> > Then I tried to add trace listener (TextWriterTraceListener) to
> > <system.diagnostics> section of ReportingServicesService.exe.config file.
> > Doing so I got an IOException that the target file is used by different
> > process and report server refuse to start at all.
> >
> > Is it possible to somhow use System.Diagnostics.Trace in custom data
> > extension?
> >
> > Thanks,
> >
> > Marek
>
>

Custom data extension has trust issues

I wrote a custom data processing extension which works in preview mode,
but when viewing it from the report server I get the error:
--
An error has occurred during report processing. (rsProcessingAborted)
Cannot create command for data source 'MeridiumDataSource'.
(rsErrorCreatingCommand)
That assembly does not allow partially trusted callers.
--
I have put the correct codeblock tags in rssrvpolicy.config, right
after the codeblock with Url="$CodeGen$/*" as I'm supposed to:
--
<CodeGroup
class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="MeridiumCodeGroup"
Description="Code group for my data processing extension">
<IMembershipCondition
class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting
Services\ReportServer\bin\MeridiumDataEx
tension.dll"
/>
</CodeGroup>
--
I have some 3rd party assemblies that my DPE references; I also put a
codeblock for them in rssrvpolicy.config:
--
<CodeGroup
class="UnionCodeGroup"
version="3.2.0.148"
PermissionSetName="FullTrust"
Name="MeridiumCoreCodeGroup"
Description="This code group grants Meridium core code full
trust. ">
<IMembershipCondition
class="StrongNameMembershipCondition"
version="1"
PublicKeyBlob="[public key]"
/>
</CodeGroup>
--
I also put the followinig line in my AssemblyInfo.cs file:
--
[assembly: AllowPartiallyTrustedCallers]
--
None of these things changed the error. Any help would be greatly
appreciated.I guess I forgot to mention that this data extension is for reporting
services, and that this is sql server 2005.|||You might consider posting in the sqlserver.reportingsvcs newgroup.
Arnie Rowland, YACE*
"To be successful, your heart must accompany your knowledge."
*Yet Another certification Exam
<hokietoner@.gmail.com> wrote in message
news:1150980095.588318.45210@.p79g2000cwp.googlegroups.com...
>I wrote a custom data processing extension which works in preview mode,
> but when viewing it from the report server I get the error:
> --
> An error has occurred during report processing. (rsProcessingAborted)
> Cannot create command for data source 'MeridiumDataSource'.
> (rsErrorCreatingCommand)
> That assembly does not allow partially trusted callers.
> --
> I have put the correct codeblock tags in rssrvpolicy.config, right
> after the codeblock with Url="$CodeGen$/*" as I'm supposed to:
> --
> <CodeGroup
> class="UnionCodeGroup"
> version="1"
> PermissionSetName="FullTrust"
> Name="MeridiumCodeGroup"
> Description="Code group for my data processing extension">
> <IMembershipCondition
> class="UrlMembershipCondition"
> version="1"
> Url="C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting
> Services\ReportServer\bin\MeridiumDataEx
tension.dll"
> />
> </CodeGroup>
> --
> I have some 3rd party assemblies that my DPE references; I also put a
> codeblock for them in rssrvpolicy.config:
> --
> <CodeGroup
> class="UnionCodeGroup"
> version="3.2.0.148"
> PermissionSetName="FullTrust"
> Name="MeridiumCoreCodeGroup"
> Description="This code group grants Meridium core code full
> trust. ">
> <IMembershipCondition
> class="StrongNameMembershipCondition"
> version="1"
> PublicKeyBlob="[public key]"
> />
> </CodeGroup>
> --
> I also put the followinig line in my AssemblyInfo.cs file:
> --
> [assembly: AllowPartiallyTrustedCallers]
> --
> None of these things changed the error. Any help would be greatly
> appreciated.
>

Custom data extension has trust issues

I wrote a custom data processing extension for reporting services in
SQL Server 2005. The extension works in preview mode, but when viewing
it from the report server I get the error:
--
An error has occurred during report processing. (rsProcessingAborted)
Cannot create command for data source 'MeridiumDataSource'.
(rsErrorCreatingCommand)
That assembly does not allow partially trusted callers.
--
I have put the correct codeblock tags in rssrvpolicy.config, right
after the codeblock with Url="$CodeGen$/*" as I'm supposed to:
--
<CodeGroup
class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="MeridiumCodeGroup"
Description="Code group for my data processing extension">
<IMembershipCondition
class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting
Services\ReportServer\bin\MeridiumDataExtension.dll"
/>
</CodeGroup>
--
I have some 3rd party assemblies that my DPE references; I also put a
codeblock for them in rssrvpolicy.config:
--
<CodeGroup
class="UnionCodeGroup"
version="3.2.0.148"
PermissionSetName="FullTrust"
Name="MeridiumCoreCodeGroup"
Description="This code group grants Meridium core code full
trust. ">
<IMembershipCondition
class="StrongNameMembershipCondition"
version="1"
PublicKeyBlob="[public key]"
/>
</CodeGroup>
--
I also put the followinig line in my AssemblyInfo.cs file:
--
[assembly: AllowPartiallyTrustedCallers]
--
None of these things changed the error. I also recently tried using
mscorcfg.msc to create a code group giving everything in the bin folder
(including all of my DLL's), and then I copied that codegroup to the RS
config file. This failed to change anything as well. Any help would be
greatly appreciated!Hi Ryan.
I have worked a lot with extensions and have had a lot of security issues.
I think the easiest way to find out which assembly needs permissions is to
debug. Step through you code and when a unthrusted method is called you will
get an exception.
Your third party assemblies might call something that need to be thrusted?
Kind regards
Martin Bring (Sogeti AB)
********************
"Ryan" wrote:
> I wrote a custom data processing extension for reporting services in
> SQL Server 2005. The extension works in preview mode, but when viewing
> it from the report server I get the error:
> --
> An error has occurred during report processing. (rsProcessingAborted)
> Cannot create command for data source 'MeridiumDataSource'.
> (rsErrorCreatingCommand)
> That assembly does not allow partially trusted callers.
> --
> I have put the correct codeblock tags in rssrvpolicy.config, right
> after the codeblock with Url="$CodeGen$/*" as I'm supposed to:
> --
> <CodeGroup
> class="UnionCodeGroup"
> version="1"
> PermissionSetName="FullTrust"
> Name="MeridiumCodeGroup"
> Description="Code group for my data processing extension">
> <IMembershipCondition
> class="UrlMembershipCondition"
> version="1"
> Url="C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting
> Services\ReportServer\bin\MeridiumDataExtension.dll"
> />
> </CodeGroup>
> --
> I have some 3rd party assemblies that my DPE references; I also put a
> codeblock for them in rssrvpolicy.config:
> --
> <CodeGroup
> class="UnionCodeGroup"
> version="3.2.0.148"
> PermissionSetName="FullTrust"
> Name="MeridiumCoreCodeGroup"
> Description="This code group grants Meridium core code full
> trust. ">
> <IMembershipCondition
> class="StrongNameMembershipCondition"
> version="1"
> PublicKeyBlob="[public key]"
> />
> </CodeGroup>
> --
> I also put the followinig line in my AssemblyInfo.cs file:
> --
> [assembly: AllowPartiallyTrustedCallers]
> --
> None of these things changed the error. I also recently tried using
> mscorcfg.msc to create a code group giving everything in the bin folder
> (including all of my DLL's), and then I copied that codegroup to the RS
> config file. This failed to change anything as well. Any help would be
> greatly appreciated!
>

Sunday, February 19, 2012

Custom Assembly not Executing

I have both a custom assembly and a data processing extension. The DPE I
have successfully integrated into RS. But, I have written a custom assembly
that I use for creating a barcode image. I run it fine in ReportDesigner and
believe I have given it and the Barcode.dll (3rd party) "FullTrust" in the
rssrvpolicy.config file.
The problem is when I run I do not even get an error. I integrated the
EventLog to try to trace the problem but it never gets called by Reporting
Services and just renders the image empty.
If anyone has any suggestions on this I would greatly appreciate it. I have
a custom assembly that uses a 3rd party (Pegasus SmartExpress Barcode) dll.
I can execute perfectly in VS.Net design mode. But, cannot in ReportManager.
Thanks
TomTom,
Possibly the registered Assembly has the incorrect Assembly version in
Report Designer (see report Properties ... References)
I avoid having to delete and re-define the refernece to the newly compiled
assembly by stopping version incrementation in the AssemblyInfo.cs file ie:
[assembly: AssemblyVersion("1.0.0.0")]
regards,|||Simon
Thanks for the idea it makes sense...but it didn't work either. Not sure
what's going on here.
Tom
"Simon" wrote:
> Tom,
> Possibly the registered Assembly has the incorrect Assembly version in
> Report Designer (see report Properties ... References)
> I avoid having to delete and re-define the refernece to the newly compiled
> assembly by stopping version incrementation in the AssemblyInfo.cs file ie:
> [assembly: AssemblyVersion("1.0.0.0")]
> regards,
>

Tuesday, February 14, 2012

cursors and tempdb

Do dynamic cursors utilise tempdb for processing? I can't seem to figure
if that's the case.
It does appear that they use memory. In fact, do all cursor types use
tempdb and/or memory?
TIA
Dave
Dodo Lurker wrote:
> Do dynamic cursors utilise tempdb for processing? I can't seem to figure
> if that's the case.
> It does appear that they use memory. In fact, do all cursor types use
> tempdb and/or memory?
> TIA
> Dave
Dynamic cursors don't use Tempdb. Static and keyset ones do. Any
operation that reads data will utilise RAM and cache.
Attach standard cursor disclaimer: At least 99.99% of the time cursors
are a bad choice for solving problems in SQL. Usually there are better,
faster, simpler solutions that don't require cursors.
David Portas
SQL Server MVP

cursors and tempdb

Do dynamic cursors utilise tempdb for processing? I can't seem to figure
if that's the case.
It does appear that they use memory. In fact, do all cursor types use
tempdb and/or memory?
TIA
DaveDodo Lurker wrote:
> Do dynamic cursors utilise tempdb for processing? I can't seem to figure
> if that's the case.
> It does appear that they use memory. In fact, do all cursor types use
> tempdb and/or memory?
> TIA
> Dave
Dynamic cursors don't use Tempdb. Static and keyset ones do. Any
operation that reads data will utilise RAM and cache.
Attach standard cursor disclaimer: At least 99.99% of the time cursors
are a bad choice for solving problems in SQL. Usually there are better,
faster, simpler solutions that don't require cursors.
David Portas
SQL Server MVP
--

cursors and tempdb

Do dynamic cursors utilise tempdb for processing? I can't seem to figure
if that's the case.
It does appear that they use memory. In fact, do all cursor types use
tempdb and/or memory?
TIA
DaveDodo Lurker wrote:
> Do dynamic cursors utilise tempdb for processing? I can't seem to figure
> if that's the case.
> It does appear that they use memory. In fact, do all cursor types use
> tempdb and/or memory?
> TIA
> Dave
Dynamic cursors don't use Tempdb. Static and keyset ones do. Any
operation that reads data will utilise RAM and cache.
Attach standard cursor disclaimer: At least 99.99% of the time cursors
are a bad choice for solving problems in SQL. Usually there are better,
faster, simpler solutions that don't require cursors.
--
David Portas
SQL Server MVP
--