网站的ASP.NET 配置页面无法打开(ASP.NET Configuration)(找不到存储过程 'dbo.aspnet_CheckSchemaVersion')

前几天在新电脑上新部署了开发环境:64位Vista, IIS 7, VS2008, SQL Server 2005开发版SP2。
今天开了一个网站项目,发现无法打开ASP.NET Configuration. 第一反应是防火墙,关了,没效果。进而发现不仅是设置页面,连项目的网页都无法查看(菜单“在浏览器中查看View In Browser”)。难道是VS带的Develepment Server出问题了?这时注意到这些网页都是使用http://localhost:<端口号>来连接,改成127.0.0.1一试,行了,难道是hosts文件有问题?到Windows/system32/drivers/etc一看,果然,hosts文件第一行就将localhost指向了别处。原来前几天装系统顺手从电脑报网站下了个反黑的hosts文件,它把localhost指向别处确实起到一定的保护作用。
于是去掉这行,网页可以浏览了,也打开了ASP.NET Configuration,但一点“安全”,出现错误:“ 找不到存储过程 'dbo.aspnet_CheckSchemaVersion'”。第一反应,没有运行aspnet_regsql,查看一下,这个网站使用默认数据库,而系统有aspnetdb数据库,即已经运行过aspnet_regsql了,再次运行之,依然不行。权限问题?以管理员身份运行,不行。难道是连接字符串的问题?这个网站的web.config没带connectionString,去Windows/Microsoft.NET/Framework64/v2.0.50727/CONFIG/machine.config一看,原来是我在装了开发版,改machine.config中默认的express连接字符串时,少指定了Initial Catalog,将其改为" Data Source=localhost;Initial Catalog=aspnetdb;Integrated Security=True"解决问题。

遇到“ 找不到存储过程 'dbo.aspnet_CheckSchemaVersion'”错误时,应注意以下几点:
  1. 是否已经对网站的数据库运行了aspnet_regsql,这是常见的问题。网上很多帖子说启动了向导就一路下一步到底就行了,这是不全面的。要根据网站实际使用的数据库选择目标及身份验证方式。
  2. 连接字符串问题,检查网站的web config,如果没有connectionStrings节的话就检查本机的machine.config(若是64位系统则有两个),看其连接字符串的目标SQL Server与实际数据库是否相符。默认的连接字符串是EXPRESS的,如果使用的是开发版或企业版则尤其要注意。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值