Server Error in '/KenticoCMS' Application.

2019-09-03 16:26发布

问题:

I get this error when I click the Tools menu in CMS Desk in Kentico. I am not sure where to start trouble shooting.

I have started down the path of copying the website down to run locally on my machine. Hoping that I might be able to get more information that way.

Ideas gratefully received.

Update - I have decided to re-install from scratch. Update 2 I think the problem might have been that we a 3rd part payment gateway from Get Started installed that was not updated for version 7 of Kentico.

I was able to solve the initial error, which was due to a code folder being duplicated in the project.

However then next error is as follows;

Server Error in '/KenticoCMS7' Application. 
--------------------------------------------------------------------------------

Invalid column name 'MenuItemGroup'.
Invalid column name 'MenuItemGroup'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: Invalid column name 'MenuItemGroup'.
Invalid column name 'MenuItemGroup'.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 

[SqlException (0x80131904): Invalid column name 'MenuItemGroup'.Invalid column name 'MenuItemGroup'.]   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +1753986   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5296058   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +558   System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +1682   System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +59   System.Data.SqlClient.SqlDataReader.get_MetaData() +90   System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +365   System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite) +1379   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) +175   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +53   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +134   System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +41   System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +10   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +140   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +316   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +88   CMS.DataProviderSQL.DataConnection.ExecuteQuery(String queryText, QueryDataParameters queryParams, QueryTypeEnum queryType, Boolean requiresTransaction) +239[Exception: [DataConnection.HandleError]: Query: SELECT  ClassName, DocumentCulture, DocumentModifiedWhen, DocumentMenuCaption, DocumentMenuClass, DocumentMenuClassHighLighted, DocumentMenuClassOver, DocumentShowInSiteMap, DocumentMenuItemHideInNavigation, DocumentMenuItemImage, DocumentMenuItemImageHighlighted, DocumentMenuItemImageOver, DocumentMenuItemInactive, DocumentMenuItemLeftImage, DocumentMenuItemLeftImageHighlighted, DocumentMenuItemLeftImageOver, DocumentMenuItemRightImage, DocumentMenuItemRightImageHighlighted, DocumentMenuItemRightImageOver, DocumentMenuJavascript, DocumentMenuRedirectUrl, DocumentMenuStyle, DocumentMenuStyleHighlighted, DocumentMenuStyleOver, DocumentName, DocumentUrlPath, NodeAliasPath, NodeID, NodeChildNodesCount, NodeClassID, NodeLevel, NodeLinkedNodeID, NodeParentID, SiteName, NodeACLID, NodeSiteID, NodeOwner, NodeOrder, NodeName, DocumentSitemapSettings FROM View_CONTENT_MenuItem_Joined WHERE (((((NodeSiteID = 1) AND (Published = 1)) AND (DocumentCulture = N'en-US')) AND (NodeLevel <= 2)) AND (((DocumentMenuItemHideInNavigation = 0)) AND (MenuItemGroup <> 'footer' OR MenuItemGroup IS NULL))) ORDER BY NodeLevel, NodeOrder, DocumentName: caused exception: Invalid column name 'MenuItemGroup'.Invalid column name 'MenuItemGroup'.]   CMS.DataEngine.AbstractDataConnection.HandleError(String queryText, SqlException ex) +158   CMS.DataProviderSQL.DataConnection.ExecuteQuery(String queryText, QueryDataParameters queryParams, QueryTypeEnum queryType, Boolean requiresTransaction) +294   CMS.DataEngine.AbstractDataConnection.CMS.SettingsProvider.IDataConnection.ExecuteQuery(String queryText, QueryDataParameters queryParams, QueryTypeEnum queryType, Boolean requiresTransaction) +52   CMS.DataEngine.GeneralConnection.RunQuery(QueryParameters query) +280   CMS.DataEngine.GeneralConnection.ExecuteQuery(QueryParameters query) +581   CMS.DataEngine.GeneralConnection.ExecuteQuery(String queryName, QueryDataParameters parameters, String where, String orderBy, Int32 topN, String columns) +321   CMS.DataEngine.GeneralConnection.ExecuteQuery(String queryName, QueryDataParameters parameters, String where, String orderBy, Int32 topN, String columns, Int32 offset, Int32 maxRecords, Int32& totalRecords) +116   CMS.DataEngine.ConnectionHelper.ExecuteQuery(String queryName, QueryDataParameters parameters, String where, String orderBy, Int32 topN, String columns, Int32 offset, Int32 maxRecords, Int32& totalRecords) +90   CMS.DocumentEngine.TreeProvider.ExecuteQuery(String queryName, QueryDataParameters parameters, String where, String orderBy, Int32 topN, String columns, Int32 offset, Int32 maxRecords, Int32& totalRecords) +137   CMS.DocumentEngine.TreeProvider.ExecuteQuery(String queryName, QueryDataParameters parameters, String where, String orderBy, Int32 topN, String columns) +73   CMS.DocumentEngine.TreeProvider.SelectNodes(NodeSelectionParameters parameters) +2631   CMS.DocumentEngine.TreeProvider.SelectNodes(String siteName, String aliasPath, String cultureCode, Boolean combineWithDefaultCulture, String classNames, String where, String orderBy, Int32 maxRelativeLevel, Boolean selectOnlyPublished, Int32 topN, String columns) +247   CMS.Controls.CMSAbstractMenuProperties.GetMenuItems(String resolvedPath, Boolean siteMap) +1568   CMS.Controls.CMSAbstractMenuProperties.GetDataSource(Boolean siteMap) +1168   CMS.Controls.CMSAbstractMenuProperties.GetDataSource() +46   CMS.Controls.CMSListMenu.ReloadData(Boolean forceLoad) +270   CMS.Controls.CMSListMenu.OnInit(EventArgs e) +160   System.Web.UI.Control.InitRecursive(Control namingContainer) +134   System.Web.UI.Control.InitRecursive(Control namingContainer) +290   System.Web.UI.Control.InitRecursive(Control namingContainer) +290   System.Web.UI.Control.InitRecursive(Control namingContainer) +290   System.Web.UI.Control.InitRecursive(Control namingContainer) +290   System.Web.UI.Control.InitRecursive(Control namingContainer) +290   System.Web.UI.Control.InitRecursive(Control namingContainer) +290   System.Web.UI.Control.InitRecursive(Control namingContainer) +290   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +489

Kentico support suggested Does the error appear on some page using (either directly, or inherited) Hierarchical viewer web part? If so, could you please edit its properties and see the Where condition? Is there anything like “MenuItemGroup = ‘xxx’”? If so, can you delete it and see the difference?

Optionally, you could try going to Site Manager -> Development -> System tables -> Views and hit the refresh all views button or, Site Manager -> Development -> Document types -> Page menu item type -> Fields and hit save to re-generate the schemas or, apply the latest hotfix to refresh the whole DB and files.

I applied Hotfix 31 on top of 30, but it didnt help. I dont think I could get into the program to try the issues support talked about.

Update: I have removed the get started code, and established that I create a new site in my old install that will successfully import into a fresh Kentico install without damaging the Tools menu... now to try and get my real site exporting and importing without breaking ....

Hooray - yes it worked!

[Update] I am no longer sure that this problem was due to the Get Started gateway not being for 7.0 The fact that I was able to export one of the sites cleanly does not mean that the problem was solved. I have continued the discussion

here

I started a new question because I thought I had solved the problem by exporting and importing. However now I realise that this only solves the problem for a site that has clean data. In retrospect I should have continued this question.

回答1:

You have few options. Firstly you can try to examine the sql script of the plugin and try to reverse changes it made (and remove files that are part of the plugin). Secondly you can export your site and import it to the fresh instance.



回答2:

Have you imported site or objects from some older Kentico versions? If so, it seems that while importing, the Page menu item document type was overwritten and the new field "MenuItemGroup" was removed. You can try adding a field with this name back to given document type.



标签: kentico