#asp.net #sql #connection-string
#asp.net #sql #строка подключения
Вопрос:
Это моя строка подключения:
<add name="modelConnectionString" connectionString="Data Source=.SQLEXPRESS;AttachDbFilename='D:Documents and SettingsDimaMy DocumentsVisual Studio 2010WebSitesWebSite10App_DataASPNETDB.MDF';Integrated Security=True;User Instance=True;" providerName="System.Data.SqlClient"/>
Он перестал выдавать исключения, но доступ к базе данных, похоже, не работает, потому что, когда я отвечаю на вопрос о подтверждении, он говорит, что это неправильно и не впускает меня!!
<membership defaultProvider="MyMembershipProvider">
<providers>
<clear/>
<add
name="MyMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="modelConnectionString"
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0"
enablePasswordReset="true"
maxInvalidPasswordAttempts="1000"
passwordAttemptWindow="4000"
enablePasswordRetrieval="true"
requiresUniqueEmail="false"
passwordFormat="Encrypted"
applicationName="/WebSite10"
/>
</providers>
</membership>
Комментарии:
1. Сначала проверьте режим аутентификации Sql Server, к которому вы подключаетесь, а затем сообщите мне все подробности.
2. вы создали пользователя aspnet в sqlserver? и какие привилегии вы предоставили
3. Режим аутентификации — «Формы».. К сожалению, я не знаю процедуру создания пользователя aspnet и привилегий.
Ответ №1:
Вы не указали имя базы данных в строке подключения — в верхней строке вы указываете файл базы данных, в котором вы должны объявить имя базы данных.
Server=.SQLExpress;AttachDbFilename=c:asdqwemydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
Если вы подключаете файл базы данных к локальному экземпляру SQL, то вам необходимо использовать AttachDbFilename
свойство.
Комментарии:
1. Почему мне нужно использовать SQLExpress, а не localserver.. сервер по умолчанию?.. ну, я не прикрепляю это. это aspnetdb, который создается автоматически Visual Studio 2010
2. Вам не нужно использовать SQLExpress, это просто примерное имя экземпляра. Вам нужно указать, где находится экземпляр сервера, к которому будет подключена база данных.
3. я добавил вашу модификацию. теперь он не выдает исключение, он просто говорит, что имя пользователя отсутствует в базе данных. Экземпляр находится внутри Server Explorer в Visual Studio. Это было добавлено программой (VS2010), а не мной
4. Итак, подключение к базе данных выполнено, теперь у вас есть достаточно, чтобы продолжить и доработать остальное. Это не имеет ничего общего со строкой подключения, но связано с поставщиком членства. Рассмотрите возможность использования WAT для управления пользователями для поставщика членства.
5. Не удается открыть базу данных «dbname», запрошенную при входе в систему. Не удалось войти в систему. Не удалось войти в систему для пользователя ‘DIMA-00AA1DA557Dima’. — Это то, что я пробовал. это не дает мне старого исключения, которое я указал в вопросе. Я все еще не могу получить доступ к базе данных. Интересно, что вы указываете в строке подключения или делаете в конфигурации Windows, чтобы иметь возможность входить в базу данных
Ответ №2:
Вы не можете создать соединение через Visual Studio server Explorer. Вы можете войти на сервер, используя правильные учетные данные, а затем сохранить правильную строку подключения в конфигурационном файле.
В базе знаний Microsoft есть статья! на этом.
Комментарии:
1. Спасибо за ссылку. Но можете ли вы понять, почему мне не удается подключиться к базе данных с помощью одной из строк подключения, приведенных выше?