Breakpoints Won’t Hit in Data Provider Class when Debugging SSRS Reports

By Eric Meissner | October 30, 2015

When the time came for me to develop my first SSRS report from scratch I ran into something that took a bit to figure out. I wasn’t able to get any of my breakpoints to hit in my data provider class. I couldn’t find anything online to help. Luckily a co-worker of mine was able to give me the steps needed. We thought it would be a good item to blog about. Hopefully it can save someone out there time if they run into the same thing.

I noticed it after I had everything setup. I created my controller, data contract, and DP classes. I got the table setup that will support the report and assigned it as a temporary table. Then I created the visual studio project (Dynamics AX model project), setup the design of my report and got it deployed to the SSRS report server. The report ran and returned data but I wanted to step through the DP class code. None of my breakpoints would get hit and I couldn’t figure out why. It turns out you need to take the actions below.

NOTE:  these actions should be reversed once you are done debugging and are ready to promote the objects to your TEST, UAT or Prod environments.

Steps for Breakpoints to Hit Data Provider Class

1. In your temp table you need to change the following properties:

• TableType:  Regular
• CreatedBy: Yes
• CreatedTransactionId: Yes

Table Properties

2. In the DP (data provider) class you need to make the following changes:

• In the ClassDeclaration extend the SrsReportDataProviderPreProcess

Code for SSRS Reports

• In your ProcessReport method add the following line:
o temporarytablename.setConnection(this.parmUserConnection());

Code

3. After making those changes compile all of the objects. 

Then you can start debugging and stepping through your code. Just remember to change the items above back before promoting the objects for user testing.

Check out my colleague's blog for more on Debugging SSRS Reports.

Related Posts


Under the terms of this license, you are authorized to share and redistribute the content across various mediums, subject to adherence to the specified conditions: you must provide proper attribution to Stoneridge as the original creator in a manner that does not imply their endorsement of your use, the material is to be utilized solely for non-commercial purposes, and alterations, modifications, or derivative works based on the original material are strictly prohibited.

Responsibility rests with the licensee to ensure that their use of the material does not violate any other rights.

Start the Conversation

It’s our mission to help clients win. We’d love to talk to you about the right business solutions to help you achieve your goals.

Subscribe To Our Blog

Sign up to get periodic updates on the latest posts.

Thank you for subscribing!