Ошибка с MySqlMebershipProvider в ASP.NET - PullRequest
0 голосов
/ 24 марта 2011

, так как два дня я пытаюсь решить эту ошибку в конфигурации сайта asp.net - Раздел провайдера

Если вы нажмете «Тест», появится эта ошибка:

Управление провайдерами Не удалось установить соединение с базой данных. Если вы еще не создали базу данных SQL Server, выйдите из инструмента администрирования веб-сайта, используйте утилиту командной строки aspnet_regsql для создания и настройки базы данных, а затем вернитесь к этому инструменту для установки поставщика.

Мой веб-конфиг выглядит так:

<connectionStrings>
    <remove name="mydbConnectionString"/>
    <add name="mydbConnectionString" connectionString="Server=localhost;Database=mydb;Uid=root;Pwd=root;" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
<system.web>        
   <roleManager enabled="true" defaultProvider="MySQLRoleProvider" />
    <membership defaultProvider="MySqlMembershipProvider">
        <providers>
            <clear/>
            <add name="MySqlMembershipProvider" autogenerateschema="true"
                 type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=5.2.7.0, Culture=neutral,PublicKeyToken=c5687fc88969c44d"
                 connectionStringName="mydbConnectionString"
                 enablePasswordRetrieval="false"
                 enablePasswordReset="true"
                 requiresQuestionAndAnswer="false"
                 requiresUniqueEmail="false"
                 passwordFormat="Hashed"
                 maxInvalidPasswordAttempts="5"
                 minRequiredPasswordLength="6"
                 minRequiredNonalphanumericCharacters="0"
                 passwordAttemptWindow="10"
                 passwordStrengthRegularExpression=""
                 applicationName="LoginControl"
 />
        </providers>           
    </membership>

Не отображается ошибка для RoleProvider. Он отображается только при нажатии «Тест» для MySqlMembershipProvier. Поэтому я думаю, что у моей строки подключения есть некоторые проблемы, но я не знаю, как это исправить. Кто-нибудь может мне помочь?

Большое спасибо ...

Ответы [ 2 ]

0 голосов
/ 24 марта 2011
  1. aspnet_regsql работает только с SQL Server. Не с MySQL
  2. Чтобы установить таблицы членства / ролей / профиля, вам необходимо вручную запустить файлы SQL из папки .NET Framework: {SYSDRIVE \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727}
  3. Как только вы это сделаете, вы можете проверить, является ли соединение проблемой.
0 голосов
/ 24 марта 2011

Полагаю, вам просто нужно сделать то, что сказано в исключении: Запустите эквивалент утилиты aspnet_reqsql для MySQL, чтобы создать необходимые таблицы в базе данных.

Бесстыдный плагин: проверьте поставщика ролей Web.Config на Codeplex, если вы хотите настроить роли без базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...