“尝试初始化System.Data.SqlClient.SqlConnection对象时发生错误。”

时间:2012-01-12 04:47:30

标签: c# asp.net .net ado.net connection-string

抱歉我的英文。

我开始在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();

我确信连接字符串已正确写入。请帮我!有什么问题?

1 个答案:

答案 0 :(得分:0)

我在这里犯了一个错误:

<roleManager enabled="true" defaultProvider="SqlRoleProvider">
    <providers>
        <clear/>
            <add name="SqlRoleProvider"
                connectionString="ForumDB"
                applicationName="/"
                type="System.Web.Security.SqlRoleProvider"/>
    </providers>
</roleManager>

我不得不写:

connectionStringName="ForumDB"