Q203005: ERROR - Invalid column name 'ComputerOUID'

Symptoms

In the ManageSoftRP site when navigating to Inventory > Managed Devices and then clicking on the "Software" link under the Software Reported column you receive an error to say Invalid column name 'ComputerOUID' and the following stack trace:

[ApplicationException: 325-11:ERROR:ManageSoft.DataAccess.SQLDataManager.FetchRawDataSet:Cannot read data from the SQL database. You may not have the necessary permissions contact your system administrator.]
 at ManageSoft.DataAccess.SQLDataManager.FetchRawDataSet(OptionCollection options)
 at ManageSoft.DataAccess.DataManager.FetchDataSet(OptionCollection options)
 at ManageSoft.DataAccess.SQLManagedDeviceSWInventoryDetails.GetDataSet(OptionCollection options)
 at ManageSoft.Reports.DataGridPage.LoadAndBindDataToGrid()
 at ManageSoft.Reports.DataGridPage.PerformLoadOperations()
 at ManageSoft.Web.UI.MgsPage.LoadPage()
 at ManageSoft.Web.UI.MgsPage.Page_Load(Object sender, EventArgs e)
[SqlException: Invalid column name 'ComputerOUID'.]
 at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
 at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
 at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
 at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
 at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
 at System.Data.SqlClient.SqlDataReader.get_MetaData()
 at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
 at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
 at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
 at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
 at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
 at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
 at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
 at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
 at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
 at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
 at ManageSoft.DataAccess.SQLDataManager.FetchRawDataSet(OptionCollection options)

Cause

This is caused by the Stored Procedure "mgsSWVersionsInventorySummaryList" containing a reference to so.ComputerOUID. This means that it is searching for a ComputerOUID (and also UserOUID) in the SoftwareOccurrence table which as of Enterprise Deployment Suite 8.4 no longer contains this field.
During the upgrade to 8.4 or above a script called "mgsProcedures" should have been run which will correct the stored procedures, if this error was received then this suggests that this script was not successfully executed.

Resolution

You can manually execute the "mgsProcedures" script by opening it from C:\Program Files\ManageSoft\Reporter (or wherever the Reporter directory is installed) and running it on your database.  This script should apply the changes to all the Stored Procedures including mgsSWVersionsInventorySummaryList.

Additional Information

If this does not resolve the issue, please send the following to Support:
  1. Description of the problem and this KB article number.
  2. Confirmation of the version of Deployment Manager you upgraded from and to.
  3. A copy of your mgsProcedures script (so they can check it's the correct one for your current version).
  4. A copy of your mgsSWVersionsInventorySummaryList stored procedure code

This information will help them to troubleshoot further.

Comments

Powered by Zendesk