The following error occurs during migration process:"Index was outside the bounds of the array." and the log file contains the following:
"<stackTrace>System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Quest.NSP.Transform.NotesQuerySpec.GetAuthor(IDataRecord record)
at Quest.NSP.SharePoint.SharePointNotesDataMapper.get_Author()
at Quest.NSP.SharePoint.SharePointItemWriter.WriteItem(SPListItem spItem)
at Quest.NSP.SharePoint.SharePointRecordWriter.ProcessRecord(List`1 itemUrlList)
at Quest.NSP.SharePoint.SharePointRecordsWriter.WriteRecords(IDataReader reader, List`1 itemUrlList)</stackTrace>"
Unchecking "preserve created/ modified identities" option resolves the issue
The issue here is that some of the documents in the database have no $UpdatedBy field. Since Notes Migrator for SharePoint / Migrator for Notes to SharePoint uses the $UpdatedBy field to determine the author and the last modifier of the document, Notes Migrator for SharePoint / Migrator for Notes to SharePoint is failing on these documents when the "Preserve Created/Modified identities" option is selected.
In cases like these, it is difficult for tool to know what an appropriate substitution for the author and last modifier should be. In Notes Migrator for SharePoint / Migrator for Notes to SharePoint version 5.0 and later, there is a way to overrides these fields in job's source data definition.
To migrate this database, add two new fields to job's source data definition; the field to override the author should have the alias {OVERRIDEAUTHOR}, and the field to override the last modifier should have the alias {OVERRIDELASTMODIFIER}. (It's important to remember to use the "curly-brace" characters in these aliases).
Both of these fields could be of ColumnType "Formula". The formula for {OVERRIDEAUTHOR} might be something like:
@if ($UpdatedBy = null; From; $UpdatedBy}
The formula for {OVERRIDELASTMODIFIER} might be something like:
@if ($UpdatedBy = null; From; @Subset($UpdatedBy; -1))
In both of these example formulas, the data in the "From" field is used when the $UpdatedBy field doesn't exist; a different field can be choosen, or even provide a specific user name as a replacement.
© 2025 Quest Software Inc. ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center