从 CCS 1.1 升级到 CS 2.0 所遇到的问题和部分解决方法

阅读更多


整理了一下,记录在这里,希望能对更多人有所帮助。


0、升级到CS2.0后,将导致CCS中的部分功能无法使用,例如多附件、版主等功能

如何设置版主?

①新增一个Role;
②在指定版块加入这个Role,同时给它相应的权限;
③给要指定为版主的User添加该Role。

相关链接:http://bokegu.com/forums/2456/ShowPost.aspx

1、进入论坛时错误,值不能为空:format

解决方法:在cs_Sections表中把所有ForumType=30的都改成20(可能由于缓存的原因,要过一小段时间才能看到效果)

相关链接: http://communityserver.cn/forums/1145/showpost.aspx

2、访问相册时出现错误:“Parser Error Message: Unexpected end of file looking for tag.”

这个很好解决,将Web\Themes\Galleries\default\Skins\Skin-GalleryDetails-Sidebar.ascx文件中的“?/CS:Href>”中的“?”改为“<”即可。

3、相册、下载系统无法正常使用,添加相片或者下载文件的时候访问“首页”、“相册”、“下载”会抛出“未将对象引用设置到对象实例”异常。

从官方论坛里(http://communityserver.org/forums/1/503283/ShowThread.aspx)大家的论坛来看,似乎没有一个很好的解决方法。还好博客和论坛能正常使用,这是最关键的,其它两个系统可以暂时关闭它。

4、删除帖子时报告抛出异常

不能将值 NULL 插入列 'SectionID',表 DataBase.dbo.cs_PostAttachments';列不允许有空值。UPDATE 失败。
不能将值 NULL 插入列 'SectionID',表 DataBase.dbo.cs_Posts';列不允许有空值。UPDATE 失败。
不能将值 NULL 插入列 'SectionID',表 DataBase.dbo.cs_ThreadsRead';列不允许有空值。UPDATE 失败。
不能将值 NULL 插入列 'SectionID',表 DataBase.dbo.cs_Threads';列不允许有空值。UPDATE 失败。
语句已终止。
语句已终止。
语句已终止。
语句已终止。

引发原因:“回收站”或者“帖子报告”版块被删除

解决方法:执行SQL

  
  
  
  
SELECT   *   FROM  cs_Sections  WHERE  ForumType  =   50

查看是否存在 ForumType = 50 的记录,如果没有,刚将一个版块修改为50(这是用户存放被删除帖子的),命名“回收站”或“垃圾桶”就凭自己的喜好了。如果问题依旧,再查看是否存在 ForumType = 60的版块,没有则添加之。。

相关链接:http://communityserver.org/forums/thread/518556.aspx

http://communityserver.org/forums/thread/528323.aspx

5、升级过程可能导致用户头像丢失或者附件链接失效

原因如下:

①、因为CCS之前论坛的附件是GUID形式的,而CS的不是,所以,以前有的附件的链接失效了

②、CCS和CS 2以前的版本,附件或者图片是保存在物理目录文件里的,而CS2.0开始,是保存在SQL SERVER DB里了。

③、如果出现权限访问被拒绝,你可以尝试对Photos目录的everyone赋于写入权限,具体你可以参考CS的各个安装说明文件里的“升级”部份。

④、用户头像可能因CCS到CS升级而丢失了,原因和①、②、类似。

相关链接:http://cs.998118.com/forums/thread/31253.html

6、用户头像无法上传

症状表现为当点击“修改”按钮时抛出异常信息

[CSException: Error in the application.]
CommunityServer.Controls.EditProfile.UpdateAvatar_Click(Object sender, EventArgs e) +190
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277

整整被郁闷了一个下午,结果才在调试SDK时候提示找不到存储过程cs_Image_CreateUpdateDelete,问题终于有了进展,安装了全新的CS2,从中找出cs_Image_CreateUpdateDelete,修改了一下了,执行,是的,问题就在这。哈哈,终于可以正常上传头像了。

cs_Image_CreateUpdateDelete
CREATE procedure [dbo].[cs_Image_CreateUpdateDelete]
(
    
@UserID  int,
    
@Content image,
    
@ContentType nvarchar(64),
    
@ContentSize int,
    
@Action  int,
    
@SettingsID int
)
AS
SET Transaction Isolation Level Read UNCOMMITTED
BEGIN
    
DECLARE @ImageID int

    
-- Create
    IF @Action = 0 OR @Action = 1
    
BEGIN
        
-- Remove if already exists from tables: cs_Images, cs_UserAvatar
        SET @ImageID = (SELECT ImageID FROM cs_UserAvatar WHERE UserID = @UserID and SettingsID = @SettingsID)
        
DELETE cs_Images WHERE ImageID = @ImageID and SettingsID = @SettingsID
        
DELETE cs_UserAvatar WHERE UserID = @UserID and SettingsID = @SettingsID

        
-- Add new entry
        INSERT INTO cs_Images VALUES (@ContentSize@ContentType@ContentGetDate(), @SettingsID)
        
SET @ImageID = @@Identity
 
        
INSERT INTO cs_UserAvatar VALUES (@UserID@ImageID''@SettingsID)
    
END
    
ELSE IF @Action = 2
    
BEGIN
        
-- Remove if already exists from tables: cs_Images, cs_UserAvatar
        SET @ImageID = (SELECT ImageID FROM cs_UserAvatar WHERE UserID = @UserID and SettingsID = @SettingsID)
        
DELETE cs_UserAvatar WHERE UserID = @UserID and SettingsID = @SettingsID
        
DELETE cs_Images WHERE ImageID = @ImageID and SettingsID = @SettingsID
    
END
END


技术支持站点:
http://communityserver.org/
http://communityserver.cn/
http://blog.joycode.com/dotey/category/1039.aspx
http://cs.998118.com/

还有园子里的
http://ugoer.cnblogs.com/category/32456.html?Show=All
http://dragonpro.cnblogs.com/category/54152.html


你可能感兴趣的:(UI,Web,SQL,Server,SQL,thread)