您的位置:首页 > 编程语言 > ASP

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

2008-11-23 23:21 701 查看
前几天在新电脑上新部署了开发环境: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'”错误时,应注意以下几点:
是否已经对网站的数据库运行了aspnet_regsql,这是常见的问题。网上很多帖子说启动了向导就一路下一步到底就行了,这是不全面的。要根据网站实际使用的数据库选择目标及身份验证方式。
连接字符串问题,检查网站的web config,如果没有connectionStrings节的话就检查本机的machine.config(若是64位系统则有两个),看其连接字符串的目标SQL Server与实际数据库是否相符。默认的连接字符串是EXPRESS的,如果使用的是开发版或企业版则尤其要注意。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐