After applying SP5 the selection of certain filters result in error: Unable to cast object of type 'System.DBNull' to type 'System.String'
search cancel

After applying SP5 the selection of certain filters result in error: Unable to cast object of type 'System.DBNull' to type 'System.String'

book

Article ID: 152956

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

After applying SP5 certain filters, such as Windows "Computers Requiring Inventory Plug-in Upgrade" and "Windows Computers Requiring Application Metering Plug-in Upgrade", when selected, in the right column will fail with the error:  

Unable to cast object of type 'System.DBNull' to type 'System.String'.

 

Server Error in '/Altiris/NS' Application.

--------------------------------------------------------------------------------

 

Unable to cast object of type 'System.DBNull' to type 'System.String'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.InvalidCastException: Unable to cast object of type 'System.DBNull' to type 'System.String'.

 

Source Error:

 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

 

Stack Trace:

 

 

[InvalidCastException: Unable to cast object of type 'System.DBNull' to type 'System.String'.]

   Altiris.Reporting.DataSource.ParameterValueTemplate.Item_DataBinding(Object sender, EventArgs e) +127

   System.Web.UI.Control.OnDataBinding(EventArgs e) +99

   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +92

   System.Web.UI.Control.DataBind() +15

   System.Web.UI.Control.DataBindChildren() +211

   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102

   System.Web.UI.Control.DataBind() +15

   System.Web.UI.Control.DataBindChildren() +211

   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102

   System.Web.UI.Control.DataBind() +15

   ComponentArt.Web.UI.Grid.DataBind() +2100

   Altiris.WebControls.GridControl.DoGridDataBind() +609

   Altiris.WebControls.GridControl.SaveDataSource(Object& dataSource) +613

   Altiris.WebControls.GridControl.set_DataSource(Object value) +12

   Altiris.Reporting.DataSource.ParameterCollectionEditControl.DataBindParameters() +2882

   Altiris.Reporting.DataSource.ParameterCollectionEditControl.DataBind() +13

   System.Web.UI.Control.DataBindChildren() +211

   System.Web.UI.WebControls.CompositeControl.DataBind() +51

   System.Web.UI.Control.DataBindChildren() +211

   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102

   System.Web.UI.Control.DataBind() +15

   System.Web.UI.Control.DataBindChildren() +211

   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +102

   System.Web.UI.Control.DataBind() +15

   System.Web.UI.Control.DataBindChildren() +211

   System.Web.UI.WebControls.CompositeControl.DataBind() +51

   System.Web.UI.Control.DataBindChildren() +211

   System.Web.UI.WebControls.CompositeControl.DataBind() +51

   Altiris.Reporting.UI.DataSourceEditControl`1.DataBind() +22

   Altiris.Reporting.DataSource.RawSqlDataSourceEditControl.DataBind() +129

   Altiris.Reporting.UI.DataSourceEditControl`1.OnLoad(EventArgs e) +22

   System.Web.UI.Control.LoadRecursive() +50

   System.Web.UI.Control.LoadRecursive() +141

   System.Web.UI.Control.LoadRecursive() +141

   System.Web.UI.Control.LoadRecursive() +141

   System.Web.UI.Control.LoadRecursive() +141

   System.Web.UI.Control.LoadRecursive() +141

   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

  

 

--------------------------------------------------------------------------------

Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053

 

Cause

The cause is unknown at this time. This problem seems to only happen to systems that have been upgraded from SP3, to SP4, then to SP5. 

 

It also only affects any filter or report that contains an embedded Query Parameter of the following types where the default and test values are less than 100:

 

            Basic Int16

            Basic Int32

            BasicInt64

 

Resolution

The current workaround is to do one of the following:

 

  1. If the problem is with a pre-existing filter then:

 

(a)   Right click on the filter and export it to an xml file.

(b)   Edit the exported xml file and search for the default and test values and

(c)    change them to a value of 100 or greater. Note: Default values are almost always overridden by a value being retrieved or passed in so it should not matter what it is set to in this case.

 

For example: In either of the filters previously mentioned you will find the following when exported:

 

AltirisAgentBuildVersion

<testValue></testValue>

<defaultValue></defaultValue>

 

ClientPkgBuild

<testValue></testValue>

<defaultValue></defaultValue>

 

Change them to the following:

 

AltirisAgentBuildVersion

<testValue>100</testValue>

<defaultValue>100</defaultValue>

 

ClientPkgBuild

<testValue>100</testValue>

<defaultValue>100</defaultValue>

 

Also search for any of the following items which will be a parameter of this type.

 

<parameterTypeGuid>a2413151-d2e8-4b4c-a91a-7eb47f8443c6

<parameterTypeGuid>112b028f-6f5d-4985-9c46-8268965e66e3

<parameterTypeGuid>184e1928-f257-46a7-a07b-21c0857992b6

 

(d)   Save the changes and import the saved xml back into the same folder it was exported from.

 

 

  1. If the filter or report is new then, when adding query parameters of integer types then enter 100 in the default and test value boxes.

 


Applies To

Symantec Management Platform 7 SP5