【问题标题】:Problem with ASP.NET Membership ProviderASP.NET 成员资格提供程序的问题
【发布时间】:2009-06-20 18:10:03
【问题描述】:

我刚刚将一个 ASP.NET 网站部署到我的托管服务提供商,但我在尝试登录时不断收到以下错误:

SQLExpress 数据库文件自动创建 错误:连接字符串指定 本地 Sql Server Express 实例 使用数据库中的位置 应用程序 App_Data 目录。

我已经在主机上设置了具有所需架构的数据库,我什至可以从我的开发机器上通过主机数据库登录,但不能在托管站点本身上登录。我的provider配置如下:

<connectionStrings>
  <add name="Membership" connectionString="data source=localhost;initial catalog=bkelly_aspnetdb;user id=withheld; password=withheld;" />
</connectionStrings>
<system.web>
  <membership defaultProvider="SqlMembershipProvider">
    <providers>
      <clear/>
      <add name="SqlMembershipProvider" 
           type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
           connectionStringName="Membership" 
...

我在站点级别没有发现任何建议使用 App_Data DB,但该指令肯定应该整理任何机器级别的提供程序配置吗?

【问题讨论】:

  • 你能发布你正在使用的确切连接字符串吗?
  • @s_ruchit,我已经稍微更新了连接字符串,但是如果你能告诉我人们在网络上发布他们的确切连接字符串的位置,我会给你一些我赚到的钱。 ;-)
  • 你是否也在使用 roleManager,如果是,是否指定了正确的连接字符串名称?

标签: asp.net


【解决方案1】:

这不是 100%,但尝试添加

<clear/>

...在添加您的 connectionStrings 部分之前:

<connectionStrings>
  <clear/>
  <add name="Membership" connectionString="data source=localhost;initial catalog=bkelly_aspnetdb;user id=withheld; password=withheld;" />
</connectionStrings>

【讨论】:

    【解决方案2】:

    问题可能是文件所在的磁盘被压缩。 这会产生您遇到的错误

    【讨论】:

    • @Stuart,什么文件?我正在尝试连接到 SQL Server 数据库,因此涉及任何文件的事实实际上是我的问题的根源。
    • 我不确定压缩是否是问题所在,只是想为您指明方向,以便您进行调查。但是sql server,里面包含的数据库是文件。比如sql express数据库文件是.mdf,日志文件是..ldf
    【解决方案3】:

    在单声道下,您必须在配置中将“SqlMembershipProvider”文本替换为其他内容(除非是其他内容,否则无关紧要)。我认为您的主机没有使用单声道,但值得一试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多