升级SmartSchool3.6时出现,不能在对象'dbo.PE_Model'中插入重复键
升级SmartSchool3.6时出现“违反了 PRIMARY KEY 约束 'PK_PE_ContentModel_ModelID'。不能在对象 'dbo.PE_Model' 中插入重复键。语句已终止。”的错误。
当前程序集版本:3.6.0.0
当前数据库版本:3.5.0.0
升级状态报告
升级过程可能要持续几分钟或更长时间,请不要关闭浏览器。
2010-10-15 16:22:18:762 - 正在执行数据库脚本:3.5.0.0_3.6.0.0.sql 执行成功
2010-10-15 16:22:40:162 - 更新问答标签已成功。
2010-10-15 16:22:40:177 - 更新WAP配置已成功。
2010-10-15 16:22:40:187 - 更新邮件订阅配置文件已成功。
2010-10-15 16:22:40:197 - 添加WAP类别默认数据成功。
违反了 PRIMARY KEY 约束 'PK_PE_ContentModel_ModelID'。不能在对象 'dbo.PE_Model' 中插入重复键。语句已终止。
详细的出错信息请查看网站App_Data目录下的升级日志文件
升级完成
错误的原因:这个是因为新版本向PE_Model表中新添加了“招生扩展字段“的ModelID与现有模型的ModelID值有冲突,
在升级包中App_Data文件夹中SQLServerData2005.sql中
INSERT [dbo].[PE_Model] ([ModelID], [ModelName], [ModelType], [Description], [TableName], [ItemName], [ItemUnit], [ItemIcon], [IsCountHits], [Disabled], [Field], [DefaultTemplateFile], [EnableCharge], [EnableSignin], [AddInfoFilePath], [ManageInfoFilePath], [PreviewInfoFilePath], [BatchInfoFilePath], [Character], [MaxPerUser], [PrintTemplate], [EnableVote], [SearchTemplate], [AdvanceSearchFormTemplate], [AdvanceSearchTemplate], [ChargeTips], [NeedPointChargeTips], [OutTimeChargeTips], [UsePointChargeTips], [CommentManageTemplate], [AnonymouseTemplate], [UserAddContentTemplate], [EnableVerificationCode], [EnableWap], [WapField]) VALUES (102, N'招生扩展字段', 10, N'招生扩展字段', N'PE_SS_U_Course', N'招生扩展字段', N'个', N'Default.gif', 1, 0, N'
解决方法: 打开SQL数据库->新建查询->选择对应的数据库->执行以下查询语句:
UPDATE [PE_Model]
SET [ModelID] = 168
WHERE [ModelID] = 102
注:168可以自己定义
再次运行/Install/Upgrade.aspx
对于已经执行过的脚本,系统会自动跳过,未升级的就会继续执行脚本。直到升级完成。