【发布时间】:2014-02-17 14:27:38
【问题描述】:
我有一个网站可以在我们公司的 Intranet 上正常运行,我现在正尝试将其部署在托管的 Web 服务器上。不幸的是,当用户单击登录时,它会崩溃:-
“/”应用程序中的服务器错误。找不到存储过程“dbo.aspnet_CheckSchemaVersion”。
如果我进入远程服务器的桌面,使用站点的 webconfig.cfg 文件中的用户名和密码登录 Management Studio,然后我可以打开 aspnetdb 数据库,并执行 dbo.aspnet_CheckSchemaVersion 没有任何错误消息或访问问题。
我已阅读有关此错误消息的许多其他帖子,但没有任何建议有帮助,但我是网站管理的新手,可能遗漏了一些明显的东西。
该网站使用 VB.NET 编码,并使用 Visual Studio 2012 编译。使用的第三方工具是 Fusion Charts 和 AJAX Calendar Extender。 .NET Framework 版本为 4.5。
远程服务器运行带有 IIS 版本 7 的 Windows Web Server 2008 R2。
数据库服务器是 SQL Server Express 2008 R2 的命名实例。
aspnet_Users 表中定义了五个用户,我使用 IIS 中的 .NET Users 小程序添加了这些用户。我不能再使用 IIS 中的用户管理工具,因为我不得不将站点的应用程序池升级到不支持它们的 .NET 4.0。但是我可以看到用户在那里。 aspnetdb 中没有定义角色。
有人知道我可能缺少什么吗?
【问题讨论】:
-
您的连接字符串是否指定了数据库?如果不是,那么应用程序可能正在尝试在登录的默认数据库中执行该存储过程,而不是在 aspnet 数据库中。
-
非常感谢就是这样。我将连接字符串中的“初始目录”更改为aspnetdb,现在可以登录了。
标签: asp.net sql-server iis