Инструмент администрирования веб-сайта ASP.Net: не удалось установить соединение с базой данных
Я очень надеюсь, что вы сможете мне помочь в этом вопросе. Я читал на нескольких форумах и некоторых темах stackru, касающихся проблем с подключением, и использовал их советы. Некоторые говорят, что просто добавьте имя сервера перед соединением, которое работает для этого конкретного человека, а также для моего локального соединения, но не так удаленно, или просто включить "разрешить удаленное соединение на сервере sql", также сделал это (было уже включено), но все же нет помощи. Так что это моя проблема:
Я создал веб-сайт asp.net mvc 3 на своем локальном компьютере, и у меня возникли проблемы при начале подключения к удаленному серверу sql, поэтому я также создал базовую базу данных на своем локальном компьютере. Я запустил aspnet_regsql.exe в этой базе данных, все таблицы были созданы. Затем я зашел в свой web.config и добавил строку подключения с именем моего сервера:
<add name="DefaultConnection" connectionString="data source= [***]\SQLSERVER;integrated security = true ;Initial Catalog=[dbname];" providerName="System.Data.SqlClient" />
Я также добавил следующее в web.config:
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<roleManager enabled="true">
<providers>
<clear />
<add connectionStringName="DefaultConnection" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
Теперь все это сработало для меня для локальной разработки и тестирования моего приложения. Все работало, создавая пользователей, добавляющих их в БД.
Теперь, когда я хочу начать работу, мне нужно создать новую базу данных в действующей базе данных. Я сделал все вышеописанные шаги одинаково. Единственное, что изменилось, так это то, что моя строка подключения теперь находится на нашем удаленном сервере. (Я также разрешил удаленные подключения).
<add name="DefaultConnection" connectionString="data source=[ip address];integrated security = true ;Initial Catalog=aspnetdb;" providerName="System.Data.SqlClient" />
У меня все еще есть все вышеупомянутые признаки членства в webconfig.
Но все равно я получаю следующую ошибку при переходе к средству администрирования веб-сайта ASP.Net: не удалось установить соединение с базой данных. Если вы еще не создали базу данных SQL Server, выйдите из средства администрирования веб-сайта, используйте aspnet_regsql утилита командной строки для создания и настройки базы данных, а затем вернитесь к этому инструменту, чтобы установить поставщика. (Я запустил aspnet_regsql)
Вся помощь будет оценена спасибо!
1 ответ
Удалите "встроенную безопасность" из строки подключения, это предотвратит попытку входа на сервер SQL с использованием учетной записи пула приложений IIS