Submit a ticketCall us

Solarwinds & Cisco Live! Barcelona
Join us from the 29th of January to the 2nd of February at Cisco Live 2018 in Barcelona, where we will continue to show how monitoring the network with SolarWinds will keep you ahead of the game. At our booth (WEP 1A), we will demonstrate how SolarWinds network solutions can help. As a bonus, we are also hosting a pre-event webinar - Blame the Network, Hybrid IT Edition with our SolarWinds Head Geek™, Patrick Hubbard on January 24th - GMT (UTC+0): 10:00 a.m. to 11:00 a.m. There's still time to RSVP.

Home > Success Center > Network Performance Monitor (NPM) > Error during report migration in Configuration Wizard: Column 'Type' does not allow DBNullValue

Error during report migration in Configuration Wizard: Column 'Type' does not allow DBNullValue

Created by Matthew Lamb, last modified by MindTouch on Jun 23, 2016

Views: 1,282 Votes: 1 Revisions: 3

Updated June 13, 2016

Overview

This article goes over an issue that can occur during Configuration Wizard during the report migration. The following error is seen in the ConfigurationWizard.log:

2016-05-15 11:54:48,301 [5] ERROR ModuleHelper - Error migrating Orion reports.  Column 'Type' does not allow DBNull.Value. - System.InvalidOperationException: Column 'Type' does not allow DBNull.Value.
   at System.Data.SqlClient.SqlBulkCopy.ConvertValue(Object value, _SqlMetaData metadata, Boolean isNull, Boolean& isSqlType, Boolean& coercedToDataFeed)
   at System.Data.SqlClient.SqlBulkCopy.ReadWriteColumnValueAsync(Int32 col)
   at System.Data.SqlClient.SqlBulkCopy.CopyColumnsAsync(Int32 col, TaskCompletionSource`1 source)
   at System.Data.SqlClient.SqlBulkCopy.CopyRowsAsync(Int32 rowsSoFar, Int32 totalRows, CancellationToken cts, TaskCompletionSource`1 source)
   at System.Data.SqlClient.SqlBulkCopy.CopyBatchesAsyncContinued(BulkCopySimpleResultSet internalResults, String updateBulkCommandText, CancellationToken cts, TaskCompletionSource`1 source)
   at System.Data.SqlClient.SqlBulkCopy.CopyBatchesAsync(BulkCopySimpleResultSet internalResults, String updateBulkCommandText, CancellationToken cts, TaskCompletionSource`1 source)
   at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestContinuedAsync(BulkCopySimpleResultSet internalResults, CancellationToken cts, TaskCompletionSource`1 source)
   at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestAsync(CancellationToken cts, TaskCompletionSource`1 source)
   at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalAsync(CancellationToken ctoken)
   at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServerAsync(Int32 columnCount, CancellationToken ctoken)
   at System.Data.SqlClient.SqlBulkCopy.WriteToServer(IDataReader reader)
   at SolarWinds.Orion.Common.SqlHelper.ExecuteBulkCopy(String destinationTable, IDataReader reader, SqlConnection connection, SqlTransaction transation, SqlBulkCopyOptions options, Dictionary`2 mappedColumns)
   at SolarWinds.Orion.Common.SqlHelper.ExecuteBulkCopy(String destinationTable, IDataReader reader, SqlBulkCopyOptions options, Dictionary`2 mappedColumns)
   at SolarWinds.Orion.Core.Common.DALs.OrionReportDAL.PopulateOrionReports(ICollection`1 reports)
   at SolarWinds.Orion.Core.Common.OrionReportHelper.MigrateLegacyReports()
   at SolarWinds.ConfigurationWizard.Plugin.Common.ModuleHelper.MigrateLegacyReports(IOrionConfigHost host, ConfigurationLogDelegate logger)

Environment

NPM 11, 11.5 and 12

Cause 

This issue occurs because report are not fully populated in an xml format, so the type of report is not known. Since that information is not known, it would be inserted as a NULL value for the column. As that column in the ReportDefinitions table does not all NULL entries, the insert will fail causing the query set to halt and not proceed further.

Resolution

  1. View the list of reports in ReportDefinitions table and the directory Program Files (x86)\SolarWinds\Orion\Reports (also check Program Files (x86)\SolarWinds\Orion\Configurations\Reports if NCM 7.3 is installed).
  2. Compare the lists and see which reports are missing.
  3. Open those reports in Report Writer.
  4. If they are SQL Advanced reports, Make sure that the tables are still valid in the version you are on.
  5. Alter the report if any of the information is incorrect or missing.
  6. Save the report(s).
  7. Run the Configuration Wizard to allow import to complete.

 

If the Configuration Wizard results in the same issue, you can pull all of the suspect reports from the directories and place them on the desktop. This way, when the migration runs it skips those reports. You can then edit and modify as needed or discard if corrupted.

 

Last modified

Tags

Classifications

Public