Discuz!NT 2.5 正式版 下载
beta、RC版升级补丁
Comsenz 招聘信息
首届Discuz!NT 模板大赛圆满结束
著名音乐网站SoGua网、分贝网
采用Discuz!NT搭建社区
FIFA Online2官网论坛使用Discuz!NT
游戏城寨论坛使用Discuz!NT搭建
第二届优秀版主评选揭晓
Discuz!NT 2.5正式开源 Discuz!NT文档中心
用户整合说明文档
Discuz!NT亮相微软Tech-Ed 2007
Discuz!NT情景搞笑短片抢先看
1/4页1234 跳转到查看:12138
发新话题 回复该主题

[下载] Discuz!NT 2.5 正式版问题解决方法总结

Discuz!NT 2.5 正式版问题解决方法总结

接到用户反馈 Discuz!NT 2.5 beta 下载安装升级后,Tag功能无法正常使用。我们排查了原因,现在提供解决方法:

下载下面的文件,解压缩其中的 urls.config 文件,上传覆盖空间上 config 目录中的同名文件。 若不生效,请重启一下 iis 的应用程序池。

附件: urls.zip (2008-6-30 10:51:47, 715 B)
该附件被下载次数 400



另外根据8ee朋友的反馈,升级程序未能将 dnt_tags 表中 tagid 字段设置为标识列 ,所以大家可以在 SQL Server 查询分析器中运行一下代码。当然通过SQL Server企业管理器操作也可

/* 为了防止任何可能出现的数据丢失问题,您应该先仔细检查此脚本,然后再在数据库设计器的上下文之外运行此脚本。*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.dnt_tags
        DROP CONSTRAINT DF_dnt_tags_userid
GO
ALTER TABLE dbo.dnt_tags
        DROP CONSTRAINT DF_dnt_tags_orderid
GO
ALTER TABLE dbo.dnt_tags
        DROP CONSTRAINT DF_dnt_tags_count
GO
ALTER TABLE dbo.dnt_tags
        DROP CONSTRAINT DF_dnt_tags_fcount
GO
ALTER TABLE dbo.dnt_tags
        DROP CONSTRAINT DF_dnt_tags_pcount
GO
ALTER TABLE dbo.dnt_tags
        DROP CONSTRAINT DF_dnt_tags_scount
GO
ALTER TABLE dbo.dnt_tags
        DROP CONSTRAINT DF_dnt_tags_vcount
GO
ALTER TABLE dbo.dnt_tags
        DROP CONSTRAINT DF_dnt_tags_gcount
GO
CREATE TABLE dbo.Tmp_dnt_tags
        (
        tagid int NOT NULL IDENTITY (1, 1),
        tagname nchar(10) NOT NULL,
        userid int NOT NULL,
        postdatetime datetime NOT NULL,
        orderid int NOT NULL,
        color char(6) NOT NULL,
        count int NOT NULL,
        fcount int NOT NULL,
        pcount int NOT NULL,
        scount int NOT NULL,
        vcount int NOT NULL,
        gcount int NOT NULL
        )  ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_dnt_tags ADD CONSTRAINT
        DF_dnt_tags_userid DEFAULT ((0)) FOR userid
GO
ALTER TABLE dbo.Tmp_dnt_tags ADD CONSTRAINT
        DF_dnt_tags_orderid DEFAULT ((0)) FOR orderid
GO
ALTER TABLE dbo.Tmp_dnt_tags ADD CONSTRAINT
        DF_dnt_tags_count DEFAULT ((0)) FOR count
GO
ALTER TABLE dbo.Tmp_dnt_tags ADD CONSTRAINT
        DF_dnt_tags_fcount DEFAULT ((0)) FOR fcount
GO
ALTER TABLE dbo.Tmp_dnt_tags ADD CONSTRAINT
        DF_dnt_tags_pcount DEFAULT ((0)) FOR pcount
GO
ALTER TABLE dbo.Tmp_dnt_tags ADD CONSTRAINT
        DF_dnt_tags_scount DEFAULT ((0)) FOR scount
GO
ALTER TABLE dbo.Tmp_dnt_tags ADD CONSTRAINT
        DF_dnt_tags_vcount DEFAULT ((0)) FOR vcount
GO
ALTER TABLE dbo.Tmp_dnt_tags ADD CONSTRAINT
        DF_dnt_tags_gcount DEFAULT ((0)) FOR gcount
GO
SET IDENTITY_INSERT dbo.Tmp_dnt_tags ON
GO
IF EXISTS(SELECT * FROM dbo.dnt_tags)
        EXEC('INSERT INTO dbo.Tmp_dnt_tags (tagid, tagname, userid, postdatetime, orderid, color, count, fcount, pcount, scount, vcount, gcount)
                SELECT tagid, tagname, userid, postdatetime, orderid, color, count, fcount, pcount, scount, vcount, gcount FROM dbo.dnt_tags WITH (HOLDLOCK TABLOCKX)')
GO
SET IDENTITY_INSERT dbo.Tmp_dnt_tags OFF
GO
DROP TABLE dbo.dnt_tags
GO
EXECUTE sp_rename N'dbo.Tmp_dnt_tags', N'dnt_tags', 'OBJECT'
GO
ALTER TABLE dbo.dnt_tags ADD CONSTRAINT
        PK_dnt_tags PRIMARY KEY CLUSTERED
        (
        tagid
        ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO
COMMIT


给大家带来了不便,在此致歉。
特别感谢 :  石油人  协助测试。
最后编辑戏水 最后编辑于 2008-07-29 17:43:09
看到的去帮我点那个google广告啊www.cnblogs.com/zjneter

TOP

 

未能找到存储过程 'dnt_getmyposts'的解决

首先检查 您数据库中 是否存在这个名为 dnt_getmyposts 的存储过程, 如果存在 ,检查其所有者 和其他存储过程是否一致。
系统后台 运行如下sql语句

CREATE PROCEDURE [dnt_getmyposts]
@uid int,
@pageindex int,
@pagesize int
AS
DECLARE @strSQL varchar(5000)
IF @pageindex = 1
BEGIN
        SET @strSQL = 'SELECT [tid], [fid], [iconid], [typeid], [readperm], [price], [poster], [posterid], [title], [postdatetime], [lastpost], [lastpostid], [lastposter], [lastposterid], [views], [replies], [displayorder], [highlight], [digest], [rate], [hide], [special], [attachment], [moderated], [closed], [magic]
                                        FROM [dnt_topics]
                                        WHERE [tid] IN (
                                                        SELECT DISTINCT TOP ' + STR(@pagesize) + ' [tid]
                                                        FROM [dnt_myposts]
                                                        WHERE [uid]=' + STR(@uid) + '
                                                        ORDER BY [tid] DESC
                                                                        )
                                        ORDER BY [tid] DESC'
END
ELSE
BEGIN
        SET @strSQL = 'SELECT [tid], [fid], [iconid], [typeid], [readperm], [price], [poster], [posterid], [title], [postdatetime], [lastpost], [lastpostid], [lastposter], [lastposterid], [views], [replies], [displayorder], [highlight], [digest], [rate], [hide], [special], [attachment], [moderated], [closed], [magic]
                                        FROM [dnt_topics]
                                        WHERE [tid] IN (
                                                        SELECT DISTINCT TOP ' + STR(@pagesize) + ' [tid]
                                                        FROM [dnt_myposts]
                                                        WHERE [uid]=' + STR(@uid) + '
                                                        AND [tid] < (
                                                                                SELECT MIN([tid])
                                                                                FROM (
                                                                                        SELECT DISTINCT TOP ' + STR((@pageindex-1)*@pagesize) + ' [tid]
                                                                                        FROM [dnt_myposts]
                                                                                        WHERE [uid]=' + STR(@uid) + '
                                                                                        ORDER BY [tid] DESC
                                                                                        ) AS [ttt]
                                                                                )
                                                        ORDER BY [tid] DESC
                                                                        )
                                        ORDER BY [tid] DESC'

END
EXEC(@strSQL)


看到的去帮我点那个google广告啊www.cnblogs.com/zjneter

TOP

 

个人空间问题

问题描述:
我刚全新安装好个人空间,用原有的用户登陆,点击我的个人空间,却提示“您已经申请过个人空间!


解答:
否运行了pluginsetup.aspx了???   
如果您原来用的是 2.0 或者 2.1版本  ,那么您运行 运行了pluginsetup.aspx 后,原来空间的数据就会被清空了!!!
我们的升级说明明确的写着 ,如果原来是 2.0 或者 2.1版本  不要运行 pluginsetup.aspx的 。

现在您有两个选择 :
1 不要原来空间的数据了
  那么执行如下sql语句

update dnt_users set spaceid=0


2 用数据库备份还原数据库 ,仔细阅读说明 ,重新进行升级操作。
看到的去帮我点那个google广告啊www.cnblogs.com/zjneter

TOP

 

升级后,后台无相册空间管理菜单

问题描述:
        我前几天用的RC版安装了空间和相册插件,没问题,后台也有控制按钮。现在升级到正式版了,这下可好后台控制按钮没有了,但前台的功能都可以实现,我现在不能管理了,什么问题,怎么把按钮给我弄出来啊

解答:
        用下面压缩包内的文件 覆盖论坛 admin\xml 目录下的同名文件
   

附件: xml.rar (2008-7-30 9:49:41, 5.14 K)
该附件被下载次数 128

看到的去帮我点那个google广告啊www.cnblogs.com/zjneter

TOP

 

升级到正式版后不能删贴

问题描述:

为过程或函数 dnt_deletetopicbytidlist 指定的参数太多。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 为过程或函数 dnt_deletetopicbytidlist 指定的参数太多。

解答:

戏水答复: 后台 -> 论坛 -> 论坛维护 -> 论坛数据维护 -> 更新分表存储过程
看到的去帮我点那个google广告啊www.cnblogs.com/zjneter

TOP

 

后台执行SQL语句的按钮是不可用呀

问题描述:
    为什么后台执行SQL语句的按钮是不可用呀 ?

答复:
    按一下空格就可以用了, 这里用户体验不好 ,会改进的:)
看到的去帮我点那个google广告啊www.cnblogs.com/zjneter

TOP

 

未能找到存储过程 'dnt_gettopiclist'

问题描述:
      未能找到存储过程 'dnt_gettopiclist'

解答:
请执行如下sql语句

CREATE PROCEDURE [dbo].[dnt_getmytopics]
    @uid INT,
    @pageindex INT,
    @pagesize INT
AS
    DECLARE @strSQL VARCHAR(5000)
    IF @pageindex = 1
        BEGIN
            SET @strSQL = 'SELECT [tid], [fid], [iconid], [typeid], [readperm], [price], [poster], [posterid], [title], [postdatetime], [lastpost], [lastpostid], [lastposter], [lastposterid], [views], [replies], [displayorder], [highlight], [digest], [rate], [hide], [special], [attachment], [moderated], [closed], [magic]
                     FROM [dnt_topics]
                    WHERE [tid] IN (
                            SELECT TOP ' + STR(@pagesize)
                + ' [tid]
                            FROM [dnt_mytopics]
                            WHERE [uid]=' + STR(@uid) + '
                            ORDER BY [tid] DESC
                                    )
                    ORDER BY [tid] DESC'
        END
    ELSE
        BEGIN
            SET @strSQL = 'SELECT [tid], [fid], [iconid], [typeid], [readperm], [price], [poster], [posterid], [title], [postdatetime], [lastpost], [lastpostid], [lastposter], [lastposterid], [views], [replies], [displayorder], [highlight], [digest], [rate], [hide], [special], [attachment], [moderated], [closed], [magic]
                     FROM [dnt_topics]
                    WHERE [tid] IN (
                            SELECT TOP ' + STR(@pagesize)
                + ' [tid]
                            FROM [dnt_mytopics]
                            WHERE [uid]=' + STR(@uid) + '
                            AND [tid] < (
                                        SELECT MIN([tid])
                                        FROM (
                                            SELECT TOP '
                + STR(( @pageindex - 1 ) * @pagesize)
                + ' [tid]
                                            FROM [dnt_mytopics]
                                            WHERE [uid]='
                + STR(@uid)
                + '
                                            ORDER BY [tid] DESC
                                             ) AS [ttt]
                                        )
                            ORDER BY [tid] DESC
                                    )
                    ORDER BY [tid] DESC'

        END
    EXEC(@strSQL)


看到的去帮我点那个google广告啊www.cnblogs.com/zjneter

TOP

 



引用:
原帖由 戏水 于 2008-7-30 10:100 发表
问题描述:

为过程或函数 dnt_deletetopicbytidlist 指定的参数太多。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 为过程或函数 dnt_deletetopicbytidlist 指定的参数太


好像不能解决这个问题

TOP

 

Server Error in '/' Application. Runtime Error Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".

<!-- Web.Config Configuration File --><configuration>    <system.web>        <customErrors mode="Off"/>    </system.web></configuration>

Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.

<!-- Web.Config Configuration File --><configuration>    <system.web>        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>    </system.web></configuration>

TOP

 

无法删除帖子!未能找到存储过程 'dnt_deletetopicbytidlist'

在后台执行下面这段语句,就可以解决未能找到存储过程 'dnt_deletetopicbytidlist'引起的删帖问题。
感谢zxc320219



引用:
CREATE PROCEDURE [dnt_deletetopicbytidlist]

        @tidlist AS VARCHAR(2000),
        @posttablename AS VARCHAR(20),
        @chanageposts AS BIT

AS

        DECLARE @postcount int
        DECLARE @topiccount int
        DECLARE @todaycount int
        DECLARE @sqlstr nvarchar(4000)
        DECLARE @fid varchar(2000)
        DECLARE @posterid varchar(200)
        DECLARE @tempFid int
        DECLARE @tempPosterid int
        DECLARE @tempLayer int
        DECLARE @temppostdatetime datetime

        DECLARE @tempfidlist AS VARCHAR(1000)       

        SET @fid = ''
        SET @posterid = ''
        SET @postcount=0
        SET @topiccount=0
        SET @todaycount=0
       
        SET @tempfidlist = '';


        IF @tidlist<>''
                BEGIN
                        SET @sqlstr = 'DECLARE cu_dnt_posts CURSOR FOR SELECT [fid],[posterid],[layer],[postdatetime] FROM [' + @posttablename + '] WHERE [tid] IN (' + @tidlist + ')'
                        EXEC (@sqlstr)
                        OPEN cu_dnt_posts
                        FETCH NEXT FROM cu_dnt_posts into @tempFid,@tempPosterid,@tempLayer,@temppostdatetime
                        WHILE @@FETCH_STATUS = 0
                                BEGIN
                                        SET @postcount = @postcount + 1
                                        IF @tempLayer = 0
                                                BEGIN
                                                        SET @topiccount = @topiccount + 1
                                                       
                                                END

                                        IF DATEDIFF(d,@temppostdatetime,GETDATE()) = 0
                                                BEGIN
                                                        SET @todaycount = @todaycount + 1
                                                END


                                        IF CHARINDEX(',' + LTRIM(STR(@tempFid)) + ',',@fid + ',') = 0
                                                BEGIN
                                                        --SET @fid = @fid + ',' + LTRIM(STR(@tempFid))       
                                                        SELECT @tempfidlist = ISNULL([parentidlist],'') FROM [dnt_forums] WHERE [fid] = @tempFid
                                                        IF RTRIM(@tempfidlist)<>''
                                                                BEGIN
                                                                        SET @fid = RTRIM(@fid) + ',' +  RTRIM(@tempfidlist) + ',' + CAST(@tempFid AS VARCHAR(10))
                                                                END
                                                        ELSE
                                                                BEGIN
                                                                        SET @fid =RTRIM(@fid) + ',' +  CAST(@tempFid AS VARCHAR(10))
                                                                END

                                       
                                                END
                                        IF @chanageposts = 1
                                                BEGIN
                                                        UPDATE [dnt_users] SET [posts] = [posts] - 1 WHERE [uid] = @tempPosterid
                                                END
                               
                                        FETCH NEXT FROM cu_dnt_posts into @tempFid,@tempPosterid,@tempLayer,@temppostdatetime
                                END

                        CLOSE cu_dnt_posts
                        DEALLOCATE cu_dnt_posts

       
                        IF LEN(@fid)>0
                                BEGIN       

                       
                                        SET @fid = SUBSTRING(@fid,2,LEN(@fid)-1)
               
                                        IF @chanageposts = 1
                                                BEGIN
               
                                                        UPDATE [dnt_statistics] SET [totaltopic]=[totaltopic] - @topiccount, [totalpost]=[totalpost] - @postcount

                                                        SET @sqlstr = 'UPDATE [dnt_forums] SET [posts]=[posts] - ' +  cast(@postcount AS VARCHAR(10))  +
                                                                                        ', [topics]=[topics] - ' + cast(@topiccount AS VARCHAR(10)) +
                                                                                        ', [todayposts] = [todayposts] - ' + cast(@todaycount AS VARCHAR(10)) +
                                                                        ' WHERE [fid] IN (' + @fid + ')'
                                                        EXEC (@sqlstr)
                                                END
               
                                        SET @sqlstr = 'DELETE FROM [dnt_favorites] WHERE [tid] IN (' + @tidlist + ')'
                                        EXEC (@sqlstr)
                                       
                                        SET @sqlstr = 'DELETE FROM [dnt_polls] WHERE [tid] IN (' + @tidlist + ')'
                                        EXEC (@sqlstr)

                                        SET @sqlstr = 'DELETE FROM [' + @posttablename + '] WHERE [tid] IN (' + @tidlist + ')'
                                        EXEC (@sqlstr)

                                        SET @sqlstr = 'DELETE FROM [dnt_mytopics] WHERE [tid] IN (' + @tidlist + ')'
                                        EXEC(@sqlstr)
                               
                                END
                        SET @sqlstr = 'DELETE FROM [dnt_topics] WHERE [closed] IN (' + @tidlist + ') OR [tid] IN (' + @tidlist + ')'
                        EXEC (@sqlstr)
                        SET @sqlstr = 'UPDATE [dnt_tags] SET [count]=[count]-1, [fcount]=[fcount]-1 WHERE [tagid] IN (SELECT [tagid] FROM [dnt_topictags] WHERE [tid] IN (' + @tidlist + '))'
                        EXEC (@sqlstr)
                        SET @sqlstr = 'DELETE FROM [dnt_topictags] WHERE [tid] IN (' + @tidlist + ')'
                        EXEC (@sqlstr)
                        SET @sqlstr = 'DELETE FROM [dnt_topictagcaches] WHERE [tid] IN (' + @tidlist + ') OR [linktid] IN (' + @tidlist + ')'
                END
最后编辑cqyj 最后编辑于 2008-08-01 19:51:08
欢迎访问中华环评工程师联谊会
中华环评工程师联谊会www.eiae.com.cn

TOP

 
1/4页1234 跳转到
发表新主题 回复该主题