Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 195451
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T16:41:00+00:00 2026-05-11T16:41:00+00:00

Given: A C# calculation engine that loads an object model, crunches huge amounts of

  • 0

Given: A C# calculation engine that loads an object model, crunches huge amounts of numbers, and saves the results to a couple of gigantic mega-indexed database tables in SQL Server. Those tables provide data to web interfaces, other software modules, and SQL Server Reporting Services 2005 reports.

I managed to make the engine a lot faster in the latest version of the software, fast enough now that it can provide the data on request – sometimes even faster than the time it takes to query the database for the pre-calculated numbers. I am very happy about this.

That breakthrough means that we can generate data on request for the web interfaces and other software modules. But the cache tables cannot die yet, because they’re consumed by the SSRS reports (or more specifically, by stored procedures that query the tables and provide the data to SSRS.)

The cache tables are a pain, in much the same way that any cache is a pain in the world of software. Without going into too much detail, they have sync’ing problems, locking problems, etc etc. The software would work so much more nicely if I didn’t have to worry about keeping those darned tables up to date.

But how else can I get the data into SSRS? I’ve done a fair bit of research and nothing looks too promising:

  • We could provide the data via a web service and use the SSRS XML DPE. But that looks kind of hideous – am I right that you have to parse your SOAP envelope yourself?! And it doesn’t support XPath, but a proprietary XPath-y dialect?? Our report writers know T-SQL, and that’s what they’re best at.
  • Using the SQL CLR to host our API is not desirable – it’s a big app and you can’t do anything without creating an application object and logging in, etc.
  • Using the SQL CLR to contact a web service on the web application – this is the most promising so far (this article was helpful http://www.simple-talk.com/sql/sql-server-2005/practical-sql-server-2005-clr-assemblies/.) Has anybody tried this approach? Does it perform okay, can it provide large data sets? OTOH I’m turned off by the extra setup we would have to do on client DB servers.
  • Any other suggestions would be greatly appreciated.
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T16:41:00+00:00Added an answer on May 11, 2026 at 4:41 pm

    If I understand you correctly, you’re building a report on non-SQL data. You’re storing the data in tables for the specific purpose of making them reportable.

    I can think of two solutions. The first is to extend your C# calculation engine with a reporting part. The Microsoft.Reporting.WinForms and Microsoft.Reporting.WebForms namespaces can be used to build reports on any data source, not just SQL Server. If the end users use your app as a client, you can generate the data and the reports on the fly.

    The second is to use the SQL CLR. You can use a CLR stored procedure as the basis for a report (enter “exec mysp” as the datasource.) This CLR procedure is C# code, and could include your calculation engine as a library. This would allow you to generate reports on the fly, while still using the Report Server user interface.

    Interesting question and I’m hoping that more knowledgeable people can provide a better answer 🙂

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 105k
  • Answers 105k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Have the page make a XMLHttpRequest to itself (using location.href… May 11, 2026 at 8:44 pm
  • Editorial Team
    Editorial Team added an answer Easy: theMethod.ReturnType == typeof(void) May 11, 2026 at 8:44 pm
  • Editorial Team
    Editorial Team added an answer The messages key in the validator array must be passed… May 11, 2026 at 8:44 pm

Related Questions

I hear a lot about NHibernate lately (mostly good things) and would like to
I have three X/Y points that form a parabola. I simply need to calculate
I use the following columns stored in a SQL table called tb_player: Date of
I have a piece of code in ANSI C which uses the time.h library
I am the lead developer on a commercial Windows app (c#). A new requirement

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.