无法初始化提供程序。缺少或不正确的架构。对于MySql.Web连接器

时间:2010-03-06 16:13:45

标签: mysql security membership membership-provider sqlmembershipprovider

嘿伙计们和gals在这里遇到一个小问题..我正在尝试使用MySql Connector 6.2.2.0作为成员资格和角色提供者..

我遇到的问题是:无法初始化提供商。模式缺失或不正确。

<authentication mode="Forms"/>
<roleManager defaultProvider="MySqlRoleProvider"
    enabled="true"
    cacheRolesInCookie="true"
    cookieName=".ASPROLES"
    cookieTimeout="30"
    cookiePath="/"
    cookieRequireSSL="false"
    cookieSlidingExpiration="true"
    cookieProtection="All" >
  <providers>
    <clear />
    <add
        name="MySqlRoleProvider"
        type="MySql.Web.Security.MySQLRoleProvider, MySql.Web,
        Version=6.2.2.0,Culture=neutral, PublicKeyToken=c5687fc88969c44d"   
        connectionStringName="mySQL"
        applicationName="capcafe"
        writeExceptionsToEventLog="true"
    />
  </providers>
</roleManager>
<membership defaultProvider="MySqlMembershipProvider">
   <providers>
      <add connectionStringName="mySQL" 
         applicationName="capcafe" 
         minRequiredPasswordLength="5"
         requiresQuestionAndAnswer="false" 
         requiresUniqueEmail="false"
         minRequiredNonalphanumericCharacters="0" 
         name="MySqlMembershipProvider"
         type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.2.2.0,
         Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
   </providers>
</membership>

以下是它似乎不喜欢的行:

Line 57:             type="MySql.Web.Security.MySQLRoleProvider, MySql.Web,
Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"

我在我的bin中引用了MySql.Web和MySql.Data!任何有助于解决此问题的帮助都将非常感谢

5 个答案:

答案 0 :(得分:12)

添加对程序集的引用,将autogenerateschema =“true”属性添加到:

<providers>
<remove name="MySQLProfileProvider"/>
<add name="MySQLProfileProvider" autogenerateschema="true" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/"/>
</providers>

使用ASP.Net配置工具。

答案 1 :(得分:3)

我遇到了这个问题,原来我的连接字符串中没有密码,我认为仔细检查你的连接字符串是否正确是一个好的起点。

答案 2 :(得分:2)

我的问题是我的连接字符串中有“localhost”而不是webhost的MySQL服务器的IP地址。

在我的web.config文件中更改后,它运行正常,因此您需要仔细检查您的web.config文件非常

答案 3 :(得分:2)

我遇到了同样的问题。自从我将我的网站部署到运行Mono的Linux服务器以来,最终出现了一个案例问题。启用autogenerateschema =“true”帮助我解决了这个问题。有些主机不会让代码生成必要的表,所以如果它不自动生成你的模式,那么检查套管问题。

答案 4 :(得分:1)

CodeMonkey的解决方案对我有用......我实际上是在Win 2008 Server VM上部署了一个新的应用程序。在指定LocalMySql连接字符串并将MySQLRoleProvider autogenerate设置为true之前,无法生成模式。

相关问题