【发布时间】:2011-10-22 21:18:39
【问题描述】:
通过 SQL Server Express 使用 ASP.NET Membership 有什么问题吗?
当我使用这段代码时:
Roles.AddUserToRole("shah", "Admdin")
我遇到了如下所示的错误。
配置:
操作系统:Windows 7 64 位。
SQL Server 版本:SQL Server Express Edition,版本:9.00.4035.00
connectionString="Data Source=.\sqlexpress;Initial Catalog=MShop;Integrated Security=True"
此版本的 SQL 不支持用户实例登录标志 服务器。连接将被关闭。描述:一个未处理的 执行当前 Web 请求期间发生异常。 请查看堆栈跟踪以获取有关错误的更多信息和 它起源于代码。
SQLExpress 数据库文件自动创建错误:
连接字符串指定一个本地 Sql Server Express 实例 使用应用程序的 App_Data 目录中的数据库位置。 提供者试图自动创建应用程序 服务数据库,因为提供商确定该数据库 不存在。以下配置要求是必要的 成功检查应用程序服务是否存在 数据库并自动创建应用服务数据库:
If the application is running on either Windows 7 or Windows Server 2008R2, special configuration steps are necessary to enable自动创建提供者数据库。附加信息是 可在:http://go.microsoft.com/fwlink/?LinkId=160102。如果 应用程序的 App_Data 目录尚不存在,web 服务器帐户必须具有对应用程序的读写权限 目录。这是必要的,因为 Web 服务器帐户将 如果尚未创建 App_Data 目录,则自动创建 存在。 如果应用程序的 App_Data 目录已经存在,则 Web 服务器帐户只需要对 应用程序的 App_Data 目录。这是必要的,因为网络 服务器帐户将尝试验证 Sql Server Express 数据库已存在于应用程序的 App_Data 目录中。 从 Web 服务器撤消对 App_Data 目录的读取访问权限 帐户将阻止提供者正确确定 Sql Server Express 数据库已经存在。这将导致错误 当提供者试图创建一个已经存在的副本时 现有数据库。需要写入权限,因为 Web 服务器 创建新数据库时使用帐户的凭据。 机器上必须安装 Sql Server Express。 Web 服务器帐户的进程标识必须具有本地用户配置文件。有关如何创建 机器和域帐户的本地用户配置文件。
【问题讨论】:
-
您的 ASP.NET 角色子系统引用什么连接字符串?在我看来,它引用的连接字符串与您显示的不同......
-
@marc_s 是的,你是对的老师:)。
标签: asp.net asp.net-membership roleprovider