Извините за мой английский.«Ошибка при попытке инициализировать объект System.Data.SqlClient.SqlConnection».
Я начал писать проект на asp.net и столкнулся с проблемой. Когда я пытаюсь выполнить этот код:
System.Web.Security.Roles.CreateRole("User");
я получаю исключение: Произошло ошибки при попытке инициализировать System.Data.SqlClient.SqlConnection
объект. Значение, которое было предоставлено для строки подключения, может быть неправильным или может содержать недопустимый синтаксис. Имя параметра: connectionString
Это часть конфигурации моего проекта:
<configuration>
<system.web>
...
<roleManager enabled="true" defaultProvider="SqlRoleProvider">
<providers>
<clear/>
<add name="SqlRoleProvider"
connectionString="ForumDB"
applicationName="/"
type="System.Web.Security.SqlRoleProvider"/>
</providers>
</roleManager>
</system.web>
<connectionStrings>
<clear/>
<add name="ForumDB"
connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=ForumDB;Integrated Security=True;Pooling=False"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Я сначала подумал, что строка соединения было написано неправильно, но я проверил несколько раз. Также этот код работает:
var connectionString = ConfigurationManager.ConnectionStrings["ForumDB"];
DbProviderFactory providerFactory = DbProviderFactories.GetFactory(connectionString.ProviderName);
DbConnection connection = providerFactory.CreateConnection();
connection.ConnectionString = connectionString.ConnectionString;
connection.Open();
Я уверен, что строка подключения написана правильно. Пожалуйста, помогите мне! Что не так?
этот код выполняется на той же машине, где находится экземпляр SQL Server? –
@Shark, да. База данных находится на том же компьютере, на котором выполняется код. –
Plz проверить http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx. Это может быть оператор ' ', который у вас есть. Но не уверен. Также, если возможно, разместите свой полный 'config' –