0

当我在 Kentico 的 CMS Desk 中单击工具菜单时出现此错误。我不确定从哪里开始解决问题。

我已经开始复制网站以在我的机器上本地运行。希望我可以通过这种方式获得更多信息。

很感激地收到了想法。

更新 - 我决定从头开始重新安装。更新 2 我认为问题可能是我们 安装了Get Started中的第 3 部分支付网关,但未针对 Kentico 的第 7 版进行更新。

我能够解决最初的错误,这是由于项目中复制了一个代码文件夹。

但是,下一个错误如下;

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 支持 错误是否出现在使用(直接或继承)分层查看器 Web 部件的某些页面上?如果是这样,您能否编辑其属性并查看 Where 条件?有没有类似“MenuItemGroup = 'xxx'”的东西?如果是这样,您可以将其删除并查看差异吗?

或者,您可以尝试转到站点管理器 -> 开发 -> 系统表 -> 视图并点击刷新所有视图按钮,或者,站点管理器 -> 开发 -> 文档类型 -> 页面菜单项类型 -> 字段并点击保存到重新生成架构,或者应用最新的修补程序来刷新整个数据库和文件。

我在 30 之上应用了 Hotfix 31,但它没有帮助。我不认为我可以进入该计划来尝试支持所讨论的问题。

更新:我已经删除了入门代码,并确定我在旧安装中创建了一个新站点,该站点将成功导入新的 Kentico 安装而不会损坏工具菜单...现在尝试让我的真实站点导出和导入不破....

万岁——是的,它奏效了!

[更新] 我不再确定这个问题是由于入门网关不适用于 7.0 我能够干净地导出其中一个站点的事实并不意味着问题已解决。我继续讨论

这里

我开始了一个新问题,因为我认为我已经通过导出和导入解决了这个问题。但是现在我意识到这只能解决具有干净数据的站点的问题。回想起来,我应该继续这个问题。

4

2 回答 2

2

你有几个选择。首先,您可以尝试检查插件的 sql 脚本并尝试反转它所做的更改(并删除属于插件的文件)。其次,您可以导出您的站点并将其导入新实例。

于 2013-04-27T07:44:46.650 回答
1

您是否从一些较旧的 Kentico 版本中导入了站点或对象?如果是这样,似乎在导入时,页面菜单项文档类型被覆盖,并且新字段“MenuItemGroup”被删除。您可以尝试将具有此名称的字段添加回给定的文档类型。

于 2013-04-28T15:40:49.133 回答