Custom Credentials for SQL Server Reporting Services 2005 Web ReportViewer

SQL Server Reporting Services 2005 allows you to connect with a web based ReportViewer control.

This control needs to provide credentials for the reporting server to authenticate the user requesting the report.  By default, the account running the worker process is used, but you can use the code in this forum posting to create you own custom credentials.



Anti-Spam GreyListing

I recently started getting some soft bounces coming back from Yahoo. 

I believe that this is a “greylisting” operation on their part:  “Message delivery has been delayed.”

The typical “lists” are Blacklists (all email is rejected) and Whitelists (all email is accepted).

Greylists utilize what is called a soft error, or soft bounce on the email server. 

When sending an email, there are some errors that cause the transmission to fail and halt, and there are others that indicate that the sender should “try again later.”

For example, if you try to send an email to an account that doesn’t exist, the sending server will not try to deliver the message again.  But if the error is something like “Mailbox is full”, then the sender will keep trying N number of times.

Almost all spammers will not bother to resend these soft bounces.  They are kicking of millions of emails, it isn’t worth their time to deal with these soft bounces.

So greylisting does the soft bounce, and sees if the sender tries again.  If they do, then yahoo labels them as an OK sender, and allows their email through.  If they don’t try again, yahoo can label them a spammer, and block them out.


AJAX Toolkit Library Growing

A while back I was looking at the AJAX toolkit page ( and I was really not impressed with anything I saw.

Things like the “Confirm” button, which is basically a button with 10 seconds of javascript coding built into it isn’t a big deal, IMO.

But their list of controls has really grown and there are some really interesting things in that toolkit.

It still boggles my mind that they don’t have an autocomplete dropdown list where your selections are LIMITED to the choices from the list.


ReportViewer with heigh=100%

When you try to assign the web reportviewer control to a height of 100%, it displays as a very short (height wise) format.  For me, adding the style attributes to the form did the trick.

The solution to this problem was found on this page:

Considerations for XHTML and ReportViewer Web Server Control

If you configure the ReportViewer Web server control to run in asynchronous mode in an application that is written in XHTML, you must follow specific steps to display the ReportViewer control properly. If the ReportViewer control uses relative height (for example, if the height is specified as a percentage of available space), the control collapses to a height of 0 pixels as a result of how frames and DIV tags render in containing tables in XHTML. You can avoid this problem by using one of the following workarounds:

  • Explicitly set the height on the on the ReportViewer control to an actual value rather than a percentage.

  • Add the following style setting to the head tag:

    <style>html,body,form {height:100%}</style>.

    By forcing the html, body and form tags to maximum height, the frame used in the ReportViewer control will also grow to maximum height, making it visible on the page.

  • Remove the xhtml doctype from the page.

Using ObjectSwap To Avoid Flash/IE Activation Problems

Recently Microsoft lost a lawsuit which required that they not “automatically” enable dynamic content in their browser, or something.

Whatever.  The result is that you now have to CLICK on flash swf files running in your browser before they will be “Activated”.

The way to get around this is to use javascript to do the dirty work. 

Check out this link for a quick include that can help with the work around:


Printing Vb.Net Forms with PrintForm Component

Microsoft has released their first 3 Power Packs for Visual Basic 2005, which are “free Add-Ins, Controls, Components, and Tools for you to use with Visual Basic 2005 to make developing great applications even easier.”

1 of the first 3 is the Microsoft PrintForm Component 1.0 , which gives you the ability to easily print a form.

I could have really used this on my last project, where I manually wrote the code to do just that.

Make Use Of Culture in SQL Reporting Services Local Reports

When using SQL Reporting services, you can format things such as dates and currency.

However, depending on the situation you might want to:

  1. Show a report with culture X on a computer running culture Y.
  2. Show a report using the same culture settings as the local computer.

To do (1), all you have to do is set the “Language” parameter of the local report in design time.

To get (2) to work, you need to set the Language parameter of the report as the expression “=User.Language”.  This will set the report culture as the culture that the hosting program is running under.

If you have a program that you need to switch between different cultures, you can do so with the following line of code (which changes the culture to “English-Ireland”)

System.Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo(“en-IE”, False)

More information can be found at: