Submit a ticketCall us

Get a crash course on Network Monitoring delivered right to your inbox
This free 7-day email course provides a primer to the philosophy, theory, and fundamental concepts involved in IT monitoring. Lessons will explain not only how to perform various monitoring tasks, but why and when you should use them. Sign up now.

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: 36 Votes: 0 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
22:17, 22 Jun 2016

Tags

Classifications

Public