Posts

Showing posts with the label DTS

Unit Testing Report within Reporting Services: My Theory

I have been working with Microsoft SQL Server Reporting Services, since its first release, within many of my projects.  One of the biggest tasks, that I find with writing a report is the testing the reports and making sure the data that is displayed is correct.  My method of developing and testing reports is as follows: Write the queries, outside Reporting Services, for creating the report data set(s) with the parameters defined which will be configured within the report. Define the parameters that report data set would create and assign a valid value. Execute the queries. Inspect the results to make sure that they meet the expected results. Repeat with a new valid value or fix any issues. After one or two or even three passes that have worked then I take the queries and put them into report data sets. Then I define the report layout. Then I preview the report make sure it’s still correct Then I release to our te...

DTS Custom Tasks written .Net

After writing some custom task in VB6 for a client thought it would be better if they were in .Net. So after some research finding that it can be done I start re-writing them for .Net. I started running into some issues: Could not register custom task within the DTS client. This because Regasm does not expose the DLL entry point for DllRegisterServer, to solve this I had to write some extra code that will register the task in DTS. The task then could not be use within DTS. This was because the default create interface was incorrect by the fact there was read-only function which dts does not like, I had disable the creation of default interface and write my own version. The global variables not working after the .Net custom component set the values. This was some quirk between .Net and DTS as soon as try setting the value through the objects properties The activex script task and other tasks could not access the global variable. I mange to solve this deleting the Global variable and...