Upgrading to Reporting Services 2008 in Visual Studio 2010

Upgrading to SQL Server Reporting Services 2008 requires a few changes in your Visual Studio 2010 projects.

First you need to remove your old Reference to Microsoft Reporting.WebForms (Version 9.0.0.0). Then add the Reference to the Microsoft.Reporting.WebForms for Version 10.0.0.0. Right mouse-click on your project Reference like this –>

Microsoft ReportViewer reference
Add a Reference to the Microsoft.ReportViewer.WebForms Control

If you use any embedded reports on any Web Forms, you need to change the Assembly Reference directive in your .aspx file from 9.0.0.0 to 10.0.0.0
<%@ Register assembly=”Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” namespace=”Microsoft.Reporting.WebForms” tagprefix=”rsweb” %>

For SSRS 2008, you must add Microsofts ScriptManager control to the form.

Visual Studio 2010 Script Manager
Visual Studio 2010 Script Manager

Finally, in your Web.config, all references to the ReportViewer controls 9.0.0.0 need to be changed to 10.0.0.0.
Here is an example web.config (the key areas are bolded) –>

<?xml version=”1.0″?>

<!–

For more information on how to configure your ASP.NET application, please visit

http://go.microsoft.com/fwlink/?LinkId=169433

–>

<configuration>

<system.web>

<compilation debug=”true” targetFramework=”4.0″>

<assemblies>

<add assembly=”System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35″ />

</assemblies>

<buildProviders>

<add extension=”.rdlc” type=”Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

</buildProviders>

</compilation>

<httpHandlers>

<add verb=”*” path=”Reserved.ReportViewerWebControl.axd” type = “Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

</httpHandlers>

</system.web>

<system.webServer>

<handlers>

<remove name=”ReportViewerWebControlHandler” />

<add name=”ReportViewerWebControlHandler” preCondition=”integratedMode” verb=”*” path=”Reserved.ReportViewerWebControl.axd” type=”Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />

</handlers>

</system.webServer>

</configuration>

One last item that may happen, in your IIS Settings, be sure there are no global provider references. Verify this by going to Start->Control Panel->Administrative Tools->Internet Information Services (IIS) Manager.  Then click on your computer name on the left navigation tree, then double-click on Handler Mappings. Just verify there is no mapping for .rdlc files. If there is, you must decide if you want to delete it. Other applications may be using older Reporting Services files. If you are unsure, save a screenshot of the settings, then delete the reference. If there is a problem, reenter the original reference.

You should now have built your project and are successfully running reports in your application with Visual Studio. When you publish up to a website, you may run into another issue. If you have not installed Visual Studio 2010 on your web server (hopefully you did not), you will need to install the Report Viewer runtime. You can download the 2010 version here from Microsoft (http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=A941C6B2-64DD-4D03-9CA7-4017A0D164FD). Reboot your web server and you should now have running reports.

One more note:If you receive the following error on your .aspx page with the Report Viewer control:

The request failed with HTTP status 401: Unauthorized.

One cause may be if you are running both your report server and IIS server on the same machine. You need to ensure that the Report Viewer controls on your .aspx pages use the server address, NOT the full qualified domain name (FQDN). Windows performs what is called a “loopback check” and this may be the source of the error. For example, if you are using http://www.YourWebsite.com/reportserver for the  to Report Server Url on the Report Viewer control, change it to the name of the server instead. For example, http://MyWebMachineName/reportserver. Since the report is being rendered on the server itself, this technique should work fine.

Additionally, be sure the user requesting the report has “Browse” permissions for the report granted from within the Report Services Manager.

You should now be ready to take advantage of all of the new features of SSRS 2008!

Auto commit for MySQL databases

In corporate database systems, it is generally preferred to build transaction stacks. This allows for having multiple database statements run and be finally committed if everything is ok. In MySQL, auto commit is on by default; which means that every statement is instantly committed. To check the value of auto commit, run the following MySQL command:

mysql>select @@autocommit;

So in order to turn off auto commit, run the following command in MySQL:

mysql>SET autocommit=0

If you want auto commit turned off permanently, we need to edit your my.cnf file. In the [mysqld], add the following line:

init_connect='SET autocommit=0'

Restart MySQL and you are now ready to do full transaction processing.

Adding custom palettes to Dundas pie charts in .NET 3.5x

One of the new features in Dundas 6.x and above, is the ability to create custom palettes of colors and apply them to pie charts. This way you no longer have to settle for Dundas’s default fluffy colors. In order to change the color palette, create a Color array and assign it to the series like this:

Color[] clrSteps = new Color[] {
Color.Red,
Color.Green,
Color.Magenta,
Color.Blue,
Color.LightBlue,
Color.Coral,
Color.LightCyan,
Color.Goldenrod,
Color.Gray,
Color.GreenYellow,
Color.Honeydew,
Color.Ivory,
Color more helpful hints.Khaki,
Color.Lavender
};
yourPieChart.PaletteCustomColors = clrSteps;

Now your pie chart will start with red for the first slice, then continue to use the clrSteps array for each slice’s color. If there are more slices than colors you’ve provided, don’t worry, Dundas will start at the beginning color in the array and continue through all of the colors as many times as needed.

Windows service failure while running in a QEMU virtual instance

If you are running Windows under QEMU and see Event ID 7000’s like these below–

If you get this Description:

“The Parallel port driver service failed to start due to the following error:
The service cannot be started, either because it is disabled or because it has no enabled devices associated with it.”

Then you have the ParPort service not starting. This happens if you upgrade your W2K3, W2K, or NT server from hardware (motherboard) that HAD a Parallel Port, but are now on a new motherboard that has no Parallel Port.

The fix is simple:
1. Open Regedit and go to–
HKLM\System|CurrentControlSet\Services\Parport
2. Edit the Start key and change the value to 4. Changing the value to 4 will “disable” the service.
3. Reboot the server

You should no longer get that annoying popup dialog when Windows starts.

How to mount a Windows share in Linux

Here is an example of how to connect to a Windows share from Linux:

>mkdir -p /mnt/winShare
>mount -t cifs //192 over at this website.168.x.x/e$ /mnt/winShare -o username=Administrator

First put in the connection information in Linux style notation //IP/ShareName. The share can be a root directory, like the e$ above, or it can be any other defined share on the server.

Windows Vista how to boot up without network

For security, sometimes you do not want your computer to automatically start up allowing network connections. In Windows Vista there is a way to ensure that when your machine reboots, network connections will not be enabled. They will only be enabled once you log in the first time.

To do this, go to Control Panel -> Administrative Tools -> Services.

Then change the Network Connections service to Manual.

This will prevent Windows Vista from establishing or allowing any network connections until the first time you log in.