AspNetForums1.0安装手记

系统环境:
Window2000、IIS5.0、DotNet Framework1.1、SqlServer2000

一、初始设置
将AspNetForums解压到一个目录DotNetForum当中,有如下目录:
--AspNetForums
--Engine
--Install_Images
--SQLScripts
--SqlUpgradeScripts

在IIS当中将AspNetForums设为一个虚拟目录AspNetForums(其他名字也无所谓),NT ACL权限允许Everyone访问。

在SqlServer2000中创建一个数据库AspNetForums,使用其他名字也没有关系,在AspNetForums目录中Web.Config文件里<add key="connectionString" value="server=localhost;Trusted_Connection=true;database=AspNetForums;" />节点,这个节点设置连接字符串的属性,默认就是AspNetForums。
在AspNetForums数据库中运行SQLScripts中的四个SQL脚本,按照1、2、3、4的顺序执行。
由于我是通过自己手动创建了数据库,所以运行第一个脚本提示有些错误,不过也没有关系,顺利执行。


初始设置完毕!


二、调试运行
将Web.Config的<compilation debug="false" />节点改为<compilation debug="true" />,以使它能在编译情况下调试。
然后访问http://localhost/AspNetForums/

1、运行错误一
出现错误提示:
无法打开登录 'AspNetForums' 中请求的数据库。登录失败。用户 'HOB/ASPNET' 登录失败(HOB/ASPNET是我的机器上的ASPNET配置帐户)。
根据堆栈跟踪,发现是System.Data.SqlClient.SqlConnection连接失败,我以为是连接字符串没有设置用户帐号、密码的缘故,于是修改<add key="connectionString" value="server=localhost;Trusted_Connection=true;database=AspNetForums;uid=sa;pwd=sa" />,但是仍然出错,仔细一看这个连接字符串还有一个Trusted_Connection属性。原来他使用Windows 帐户凭据进行数据库访问的身份验证,加了uid也没有用。
所以可以有两种选择,去掉Trusted_Connection=true,或者在数据库中增加HOB/ASPNET这个用户,并让他属于AspNetForums的db_owner的角色。
我选择在数据库增加HOB/ASPNET这个帐户。

通过!!

2、运行错误二
运行下来,出现错误提示:
无法解决 equal to 操作的排序规则冲突。
根据堆栈跟踪,检查了AspNetForums.Data.SqlDataProvider.GetSiteStatistics这个方法(源代码可以从Engine的工程中找到),发现他访问了forums_GetStatistics这个存储过程。
检查数据库存储过程发现错误出在他调用的另一个存储过程上Statistics_ResetTopPosters,有几条类似于:
UPDATE Users SET Attributes = (convert(int, Attributes) & 0xFFFFFFF3)
WHERE Username = (SELECT Username FROM #Top500Users WHERE Rank = @LoopCounter)
这样的语句。
由于子查询的结果集排序规则为数据库默认(我的数据库为China_PRC排序),而User这张表的UserName字段采用SQL_Latin1_General_CP1_CI_AS排序规则,因此发生equal to的排序规则冲突。
可以给临时表#Top500Users的UserName字段增加一个SQL_Latin1_General_CP1_CI_AS排序规则,或者用一个变量来存放查询结果(也就一条结果)。


最后运行成功!!

最近想找一个结构良好的开源论坛,希望是C#编写的,于是就想到了AspNetForums,我下载的是一个1.0版本,运行了一下发现还有些问题,就记录下来了。AspNetForums如今他已经发展为了CommunityServer,是一个比较成熟知识管理、协作平台了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值