Migration Fail
bbgun75 opened this issue · 1 comments
Trying to run the Migration Toolkit to convert a site from K13 to Xperience By Kentico. I believe I have everything setup correctly but I keep getting this error, any direction would be appreciated
10:10:51.814 fail: Migration.Toolkit.KXP.Api.KxpApiInitializer[0] Kxp api initialization failed!
10:10:51.939 fail: Migration.Toolkit.Core.Behaviors.RequestHandlingBehavior[0] Error occured CMS.DataEngine.LinqExpressionCannotBeExecutedException: The query provider failed to execute a query represented by a LINQ expression. ---> System.Exception: [DataConnection.HandleError]: Query: SELECT TOP 1 * FROM CMS_Class WHERE [ClassName] = @classname Caused exception: Invalid object name 'CMS_Class'. ---> Microsoft.Data.SqlClient.SqlException (0x80131904): Invalid object name 'CMS_Class'. at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at Microsoft.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at Microsoft.Data.SqlClient.SqlDataReader.get_MetaData() at Microsoft.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean isAsync, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String method) at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at Microsoft.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.Data.SqlClient.SqlCommand.ExecuteDbDataReader(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) at CMS.DataEngine.AbstractDataConnection.ExecuteQuery(String queryText, QueryDataParameters queryParams, QueryTypeEnum queryType, Boolean requiresTransaction) ClientConnectionId:e838ad86-f221-4b27-bea4-83b0772b39ef Error Number:208,State:1,Class:16 --- End of inner exception stack trace --- at CMS.DataEngine.AbstractDataConnection.HandleError(String queryText, Exception ex) at CMS.DataEngine.AbstractDataConnection.ExecuteQuery(String queryText, QueryDataParameters queryParams, QueryTypeEnum queryType, Boolean requiresTransaction) at CMS.DataEngine.AbstractDataConnection.CMS.DataEngine.IDataConnection.ExecuteQuery(String queryText, QueryDataParameters queryParams, QueryTypeEnum queryType, Boolean requiresTransaction) at CMS.DataEngine.GeneralConnection.RunQuery(QueryParameters query) at CMS.DataEngine.GeneralConnection.<>c__DisplayClass27_0.<ExecuteQuery>b__0() at CMS.DataEngine.SqlExecutionHelper.ExecuteWithRetryCore[TResult](Func
1 executionFunc, Int32 retryCount, Func2 exceptionRetryPredicate) at CMS.DataEngine.SqlExecutionHelper.ExecuteWithDeadlockRetryInternal[TResult](Func
1 executionFunc, Int32 retryCount) at CMS.DataEngine.SqlExecutionHelper.ExecuteWithDeadlockRetry[TResult](Func1 executionFunc, Int32 retryCount) at CMS.DataEngine.GeneralConnection.ExecuteQuery(QueryParameters query) at CMS.DataEngine.GeneralConnection.ExecuteQuery(QueryParameters query, Int32& totalRecords) at CMS.DataEngine.DataQueryBase
1.GetDataFromDBInternal() at CMS.DataEngine.DataQueryBase1.GetDataFromDB() at CMS.DataEngine.DataQueryBase
1.GetData() at CMS.DataEngine.DataQueryBase1.Execute() at CMS.DataEngine.DataQueryBase
1.get_Result() at CMS.DataEngine.DataQueryBase1.GetResults(IDataQuery query, Int32& totalRecords) at CMS.DataEngine.ObjectQueryBase
2.GetResults(IDataQuery query, Int32& totalRecords) at CMS.DataEngine.DataQueryBase1.GetDataFromDB() at CMS.DataEngine.DataQueryBase
1.GetData() at CMS.DataEngine.ObjectQueryBase2.GetData() at CMS.DataEngine.DataQueryBase
1.Execute() at CMS.DataEngine.DataQueryBase1.get_Result() at CMS.DataEngine.DataClassInfoProviderBase
1.GetInfoByColumn[T](String columnName, T value) at CMS.DataEngine.AbstractInfoProvider3.GetInfoByCodeName(String codeName, Boolean useHashtable) at CMS.DataEngine.DataClassInfoProviderBase
1.GetDataClassInfo(String name) at CMS.DataEngine.DataClassInfoProvider.GetClassStructureInfoFromDB(String className) at CMS.DataEngine.ClassStructureInfo.GetClassInfo(String className) at CMS.DataEngine.ObjectTypeInfo.get_ClassStructureInfo() at CMS.DataEngine.ObjectQueryBase2.GetClassStructureInfo() at CMS.DataEngine.DataQueryBase
1.GetDefaultSource() at CMS.DataEngine.DataQueryBase1.EnsureDefaultSource(DataQuerySettings settings) at CMS.DataEngine.DataQueryBase
1.GetCompleteSettings(IDataQuery executingQuery) at CMS.DataEngine.ObjectQueryBase2.GetExecutingQuery(DataQuerySettings settings) at CMS.DataEngine.DataQueryBase
1.GetReaderFromDB(CommandBehavior commandBehavior, Boolean newConnection) at CMS.DataEngine.DataQueryBase1.GetReader(CommandBehavior commandBehavior, Boolean newConnection) at CMS.DataEngine.DataQueryBase
1.ExecuteReader(CommandBehavior commandBehavior, Boolean newConnection) at CMS.DataEngine.DataQueryBase1.GetEnumerableResult(CommandBehavior commandBehavior, Boolean newConnection)+MoveNext() at CMS.DataEngine.DataExtensions.As[InfoType](IEnumerable
1 dataRecords, Func2 createObjectFunc) at CMS.DataEngine.ObjectQueryBase
2.GetEnumerableTypedResult(CommandBehavior commandBehavior, Boolean newConnection) at CMS.DataEngine.ObjectQueryBase2.GetEnumerator() at CMS.DataEngine.EnumerableWrapper
1.System.Collections.Generic.IEnumerable.GetEnumerator()+MoveNext() at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable1 source, Boolean& found) at lambda_method679(Closure) at System.Linq.EnumerableExecutor
1.ExecuteBoxed() at CMS.DataEngine.CMSQueryProvider1.ExecuteInternal(Expression expression) --- End of inner exception stack trace --- at CMS.DataEngine.CMSQueryProvider
1.ExecuteInternal(Expression expression) at CMS.DataEngine.CMSQueryProvider1.Execute(Expression expression) at CMS.DataEngine.CMSQueryProvider
1.Execute[TResult](Expression expression) at CMS.DataEngine.AbstractInfoProvider3.GetInfoByColumn[T](String columnName, T value) at CMS.DataEngine.AbstractInfoProvider
3.GetInfoByCodeName(String codeName, Boolean useHashtable) at CMS.DataEngine.AbstractInfoProvider2.Get(String name) at Migration.Toolkit.Core.Behaviors.XbKApiContextBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) in C:\Users\BrianBrown\Source\Repos\xperience-migration-toolkit\Migration.Toolkit.Core\Behaviors\XbKApiContextBehavior.cs:line 36 at Migration.Toolkit.Core.Behaviors.CommandConstraintBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) in C:\Users\BrianBrown\Source\Repos\xperience-migration-toolkit\Migration.Toolkit.Core\Behaviors\CommandConstraintBehavior.cs:line 54 at Migration.Toolkit.Core.Behaviors.RequestHandlingBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate`1 next) in C:\Users\BrianBrown\Source\Repos\xperience-migration-toolkit\Migration.Toolkit.Core\Behaviors\RequestHandlingBehavior.cs:line 33
10:10:51.973 info: Migration.Toolkit.Core.Behaviors.RequestHandlingBehavior[0] Handled MigrateSitesCommand in elapsed: 00:00:07.9505443
Unhandled exception. CMS.DataEngine.LinqExpressionCannotBeExecutedException: The query provider failed to execute a query represented by a LINQ expression.
---> System.Exception:
[DataConnection.HandleError]:
Query:
SELECT TOP 1 *
FROM CMS_Class
WHERE [ClassName] = @classname
Caused exception:
Invalid object name 'CMS_Class'.
---> Microsoft.Data.SqlClient.SqlException (0x80131904): Invalid object name 'CMS_Class'.
at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction)
at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at Microsoft.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at Microsoft.Data.SqlClient.SqlDataReader.get_MetaData()
at Microsoft.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean isAsync, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String method) at Microsoft.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at Microsoft.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.Data.SqlClient.SqlCommand.ExecuteDbDataReader(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) at CMS.DataEngine.AbstractDataConnection.ExecuteQuery(String queryText, QueryDataParameters queryParams, QueryTypeEnum queryType, Boolean requiresTransaction) ClientConnectionId:e838ad86-f221-4b27-bea4-83b0772b39ef Error Number:208,State:1,Class:16 --- End of inner exception stack trace --- at CMS.DataEngine.AbstractDataConnection.HandleError(String queryText, Exception ex) at CMS.DataEngine.AbstractDataConnection.ExecuteQuery(String queryText, QueryDataParameters queryParams, QueryTypeEnum queryType, Boolean requiresTransaction) at CMS.DataEngine.AbstractDataConnection.CMS.DataEngine.IDataConnection.ExecuteQuery(String queryText, QueryDataParameters queryParams, QueryTypeEnum queryType, Boolean requiresTransaction) at CMS.DataEngine.GeneralConnection.RunQuery(QueryParameters query) at CMS.DataEngine.GeneralConnection.<>c__DisplayClass27_0.<ExecuteQuery>b__0() at CMS.DataEngine.SqlExecutionHelper.ExecuteWithRetryCore[TResult](Func
1 executionFunc, Int32 retryCount, Func2 exceptionRetryPredicate) at CMS.DataEngine.SqlExecutionHelper.ExecuteWithDeadlockRetryInternal[TResult](Func
1 executionFunc, Int32 retryCount)
at CMS.DataEngine.SqlExecutionHelper.ExecuteWithDeadlockRetry[TResult](Func1 executionFunc, Int32 retryCount) at CMS.DataEngine.GeneralConnection.ExecuteQuery(QueryParameters query) at CMS.DataEngine.GeneralConnection.ExecuteQuery(QueryParameters query, Int32& totalRecords) at CMS.DataEngine.DataQueryBase
1.GetDataFromDBInternal()
at CMS.DataEngine.DataQueryBase1.GetDataFromDB() at CMS.DataEngine.DataQueryBase
1.GetData()
at CMS.DataEngine.DataQueryBase1.Execute() at CMS.DataEngine.DataQueryBase
1.get_Result()
at CMS.DataEngine.DataQueryBase1.GetResults(IDataQuery query, Int32& totalRecords) at CMS.DataEngine.ObjectQueryBase
2.GetResults(IDataQuery query, Int32& totalRecords)
at CMS.DataEngine.DataQueryBase1.GetDataFromDB() at CMS.DataEngine.DataQueryBase
1.GetData()
at CMS.DataEngine.ObjectQueryBase2.GetData() at CMS.DataEngine.DataQueryBase
1.Execute()
at CMS.DataEngine.DataQueryBase1.get_Result() at CMS.DataEngine.DataClassInfoProviderBase
1.GetInfoByColumn[T](String columnName, T value)
at CMS.DataEngine.AbstractInfoProvider3.GetInfoByCodeName(String codeName, Boolean useHashtable) at CMS.DataEngine.DataClassInfoProviderBase
1.GetDataClassInfo(String name)
at CMS.DataEngine.DataClassInfoProvider.GetClassStructureInfoFromDB(String className)
at CMS.DataEngine.ClassStructureInfo.GetClassInfo(String className)
at CMS.DataEngine.ObjectTypeInfo.get_ClassStructureInfo()
at CMS.DataEngine.ObjectQueryBase2.GetClassStructureInfo() at CMS.DataEngine.DataQueryBase
1.GetDefaultSource()
at CMS.DataEngine.DataQueryBase1.EnsureDefaultSource(DataQuerySettings settings) at CMS.DataEngine.DataQueryBase
1.GetCompleteSettings(IDataQuery executingQuery)
at CMS.DataEngine.ObjectQueryBase2.GetExecutingQuery(DataQuerySettings settings) at CMS.DataEngine.DataQueryBase
1.GetReaderFromDB(CommandBehavior commandBehavior, Boolean newConnection)
at CMS.DataEngine.DataQueryBase1.GetReader(CommandBehavior commandBehavior, Boolean newConnection) at CMS.DataEngine.DataQueryBase
1.ExecuteReader(CommandBehavior commandBehavior, Boolean newConnection)
at CMS.DataEngine.DataQueryBase1.GetEnumerableResult(CommandBehavior commandBehavior, Boolean newConnection)+MoveNext() at CMS.DataEngine.DataExtensions.As[InfoType](IEnumerable
1 dataRecords, Func2 createObjectFunc) at CMS.DataEngine.ObjectQueryBase
2.GetEnumerableTypedResult(CommandBehavior commandBehavior, Boolean newConnection)
at CMS.DataEngine.ObjectQueryBase2.GetEnumerator() at CMS.DataEngine.EnumerableWrapper
1.System.Collections.Generic.IEnumerable.GetEnumerator()+MoveNext()
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable1 source, Boolean& found) at lambda_method679(Closure) at System.Linq.EnumerableExecutor
1.ExecuteBoxed()
at CMS.DataEngine.CMSQueryProvider1.ExecuteInternal(Expression expression) --- End of inner exception stack trace --- at CMS.DataEngine.CMSQueryProvider
1.ExecuteInternal(Expression expression)
at CMS.DataEngine.CMSQueryProvider1.Execute(Expression expression) at CMS.DataEngine.CMSQueryProvider
1.Execute[TResult](Expression expression)
at CMS.DataEngine.AbstractInfoProvider3.GetInfoByColumn[T](String columnName, T value) at CMS.DataEngine.AbstractInfoProvider
3.GetInfoByCodeName(String codeName, Boolean useHashtable)
at CMS.DataEngine.AbstractInfoProvider2.Get(String name) at Migration.Toolkit.Core.Behaviors.XbKApiContextBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) in C:\Users\BrianBrown\Source\Repos\xperience-migration-toolkit\Migration.Toolkit.Core\Behaviors\XbKApiContextBehavior.cs:line 36 at Migration.Toolkit.Core.Behaviors.CommandConstraintBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) in C:\Users\BrianBrown\Source\Repos\xperience-migration-toolkit\Migration.Toolkit.Core\Behaviors\CommandConstraintBehavior.cs:line 54 at Migration.Toolkit.Core.Behaviors.RequestHandlingBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) in C:\Users\BrianBrown\Source\Repos\xperience-migration-toolkit\Migration.Toolkit.Core\Behaviors\RequestHandlingBehavior.cs:line 33 at MediatR.Pipeline.RequestExceptionProcessorBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) at MediatR.Pipeline.RequestExceptionProcessorBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) at MediatR.Pipeline.RequestExceptionActionProcessorBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) at MediatR.Pipeline.RequestExceptionActionProcessorBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) at MediatR.Pipeline.RequestPostProcessorBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) at MediatR.Pipeline.RequestPreProcessorBehavior
2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next) at MediatR.Wrappers.RequestHandlerWrapperImpl
2.Handle(Object request, CancellationToken cancellationToken, ServiceFactory serviceFactory)
at Program.
at Program.$(String[] args) in C:\Users\BrianBrown\Source\Repos\xperience-migration-toolkit\Migration.Toolkit.CLI\Program.cs:line 213
at Program.$(String[] args) in C:\Users\BrianBrown\Source\Repos\xperience-migration-toolkit\Migration.Toolkit.CLI\Program.cs:line 213
at Program.(String[] args)
I helped @bbgun75 understand that the "empty" target Xperience by Kentico database is not supposed to be a brand new SQL Server database, but instead needs to be a brand new Xperience by Kentico database, created using the kentico-xperience-dbmanager .NET CLI tool that is installed in a new Xperience by Kentico project.
The target database does, however, need to be empty of any custom content or data when beginning the migration.