【问题标题】:Using SQL server 2008 for ASP.net 2.0 Membership provider为 ASP.net 2.0 Membership 提供程序使用 SQL Server 2008
【发布时间】:2012-07-18 01:46:07
【问题描述】:

我尝试通过单击 Project 下的 ASP.net Configuration 为 ASP .net 2.0 成员资格提供程序设置 SQL 表。

我已完全卸载 SQL 2005 Express 并改为安装 SQL 2008 Express。

似乎无法连接到数据库。

有人知道如何解决这个问题,以便我可以改用 2008 吗?

【问题讨论】:

  • 您尝试连接到数据库时遇到的确切错误是什么?您是尝试从同一台机器连接,还是从远程机器连接?首先在本地尝试,以确保它不是防火墙或安全问题。
  • 你的意思是SQL 2005中的membership provider可以连接吗?您可以通过管理工具登录 SQL 2008 吗?你检查过你的 web.config 吗?它是在您的本地还是您尝试通过 IIS6/IIS7 托管?

标签: asp.net sql-server-2008 membership-provider sql-server-2008-express


【解决方案1】:

尝试在 VS 命令提示符下输入“aspnet_regsql”来配置数据库。

然后设置数据库,最后更改 web.config 文件中的 de 连接字符串。

ASP.NET SQL Server Registration Tool (Aspnet_regsql.exe)

【讨论】:

    【解决方案2】:

    您的 SQL 2008 安装实例叫什么?会员提供者的连接字符串是什么样的?

    据我所知,SQL Server 2008 Express 安装中存在(或曾经)一个小故障,即使您选择安装为“默认”实例,它仍然会使其成为一个名为“. \SQLExpress" 代替。会不会是这个问题?

    马克

    【讨论】:

      【解决方案3】:

      正如 Marc 已经指出的那样,这可能是实例名称的问题。这已在 SQL Server 2008 Express 的服务包 1 中得到修复。如需更多信息和解决方法,请参阅this Microsoft KB article

      【讨论】:

        【解决方案4】:

        默认情况下,SQL 2005 和 2008 都配置为相当锁定状态 - 这意味着 SQL 不会接受通过共享内存以外的方式访问数据库,即使具有集成安全性也是如此。

        您需要为服务器的客户端协议启用 TCP/IP 或命名管道(如果您尚未将 DSN 配置为使用共享内存,这就是 ASP.NET 与 SQL 对话的方式。

        我不记得 2k8 中的确切步骤,因为我只需要执行一次,但在 2k5 中,您必须打开 SQL Server 配置管理器,选择 SQL Native Client 配置、客户端协议并启用 TCP /IP 和命名管道 - 我记得这与 2k8 的过程类似。

        【讨论】:

          【解决方案5】:

          membership 标记中使用的 connectionStringName 应更改为您创建成员资格表的当前连接字符串。

          如果 connectionStringName 未指向 connectionStrings 标记中的有效连接字符串名称,则应用程序无法使用成员资格表。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-13
            • 1970-01-01
            • 2011-02-27
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多