wetmatter nonsense

let's get random 
Filed under

mssql 2005

 

sqlshots: Reporting Services 2005 - Unable to load client print control

I received a trouble support call from a client that encountered an error while attempting to print a Report via Reporting Services. The client was able to print before then suddenly it became an issue. Coincidentally Microsoft released two hotfixes (KB956803 & KB956391) which added a “kill-bit” associated to the ActiveX printing control used by Reporting Services 2005.

Hotfix KB956803 only affects Windows XP & Windows 2003 platforms while Windows 2000, Vista and 2008 platforms were not affected.  Hotfix KB956391 seems intended to patch vulnerabilities within the Office products.

 

There are a few ways to go about it and correct it:

 

Possible Solutions on the (Client Side)

1)      Uninstall both hotfixes (KB956803 & KB956391)

2)      Install the following Reporting Services update (http://www.microsoft.com/downloads/details.aspx?FamilyID=82833f27-081d-4b72-83ef-2836360a904d&DisplayLang=en)

3)      Delete a single key in the registry (Which is what I chose)

 

Corrective Steps for item 3

a)      I located and deleted the following key from the registry. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{FA91DF8D-53AB-455D-AB20-F2F023E498D3}]

b)      Then I had restarted (close/re-launched) all IE sessions

c)       Browsed to the Reporting Services url

d)      Opened a report

e)      Clicked the print button (if you have or haven’t installed the print client you may or may not receive the yellow “Install ActiveX” dialog just below the IE header area. You may just receive the Print Dialog instead.)

f)       The report printed fine

 

g)      I did restarted the system but the key did return; however, when I tried it again I had no further issues. 

Filed under  //   client-sde print error   mssql 2005   print error   reporting services 2005   reporting services   rs 2005   sqlshots  
Posted by Samson Loo 

Comments [0]

sqlshots: Delivering subscriptions outside the Organization

Recently I faced an issue with reporting services 2005 when attempting to deliver subscriptions to addresses outside of the organization. Internal addresses received the email based subscription deliveries without any questions. I must have checked and re-checked the settings using RSConfigTool about million times, looking for anything I might have overlooked. The error message I received was, "The e-mail address of one or more recipients is not valid". After some research (which lead me to a lot of dead ended forums) I read the phrase "email relay", that's when the gears started spinning.

I realized that the issue had nothing to do with the configuration of SQL Server Reporting Services; rather, the SMTP server! In order for the messages to be delivered outside of the organization the Reporting Services Server needed to be authorized so-to-speak. Unfortunately I don't have access to Exchange 2003 so I cannot provide screen shots, but for 2007 all you need to do is add the server's IP Address to the SMTP server’s receiver group in the HUB Transport configs.

Then to test your subscription without tweaking the schedule execution time just run the SQL job! First find out the name of the job by using the attached sql script, then execute the sp_start_job. If you have a named instance append $instancename to all three of ReportServer occurrences within the sql script (i.e. ReportServer$InstanceName) for MSSQL 2005. I believe for MSSQL 2008 you would append _InstanceName (i.e. ReportServer_InstanceName), but I am not certain. You should get the results similar to the screen shot attached.

   
Click here to download:
sqlshots_Delivering_subscripti.zip (54 KB)

Using the script with a default instance

 SELECT	
    sj.[name] AS [Job Name], 
    c.[Name] AS [Report Name], 
    c.[Path], 
    su.Description, 
    su.EventType, 
    su.LastStatus, 
    su.LastRunTime 
 FROM msdb..sysjobs AS sj INNER JOIN ReportServer..ReportSchedule AS rs 
    ON sj.[name] = CAST(rs.ScheduleID AS NVARCHAR(128)) INNER JOIN 
    ReportServer..Subscriptions AS su 
    ON rs.SubscriptionID = su.SubscriptionID INNER JOIN 
    ReportServer..[Catalog] c 
    ON su.Report_OID = c.ItemID 

Using the script with a named instance

 SELECT	
    sj.[name] AS [Job Name], 
    c.[Name] AS [Report Name], 
    c.[Path], 
    su.Description, 
    su.EventType, 
    su.LastStatus, 
    su.LastRunTime 
 FROM msdb..sysjobs AS sj INNER JOIN ReportServer$InstanceName..ReportSchedule AS rs 
    ON sj.[name] = CAST(rs.ScheduleID AS NVARCHAR(128)) INNER JOIN 
    ReportServer$InstanceName..Subscriptions AS su 
    ON rs.SubscriptionID = su.SubscriptionID INNER JOIN 
    ReportServer$InstanceName..[Catalog] c 
    ON su.Report_OID = c.ItemID 

Execute the report

 USE [msdb] 
 EXEC sp_start_job @job_name = 'AF015D8B-D80D-4D2A-9808-CD1D519B3332' 

Correction
In the attached file listed below I have identified a typo. Currently it states on
Line 19: sp_start_sp (which is incorrect) it should be
Line 19: sp_start_job

Click here to download:
SELECT.Get_RSSubscription_Jobs_v0.02.sql (0 KB)

Filed under  //   mssql 2005   report subscriptions   reporting services   reporting services 2005   sql scripts   sql server 2005   sql server reporting services   sql server reporting services 2005   sqlshots   ssms   t-sql  
Posted by Samson Loo 

Comments [0]