Asp.net 4连接字符串问题

时间:2015-11-08 16:26:07

标签: c# connection-string

我遇到以下错误

 public int  GetRegisteredUsersCount()
    {

        string myScalarQuery = "select count(*) from aspnet_Users where isActivated = 0";
        string cs = ConfigurationManager.ConnectionStrings["uniteCms"].ConnectionString;
        SqlConnection myConnection = new SqlConnection(cs.ToString());

        SqlCommand myCommand = new SqlCommand(myScalarQuery, myConnection);
        myCommand.Connection.Open();
        int count = (int) myCommand.ExecuteScalar();
        myConnection.Close();

        return count;
    }

但我的webconfig连接字符串部分中有连接字符串

 <add
name="uniteCms"
connectionString="Data Source=myserver;Initial 
Catalog=DB_9DF962_davidbuckleyni37;User ID=DB_9DF962_davidbuckleyni37_admin;Password="
providerName="System.Data.SqlClient"
/>

enter image description here   

2 个答案:

答案 0 :(得分:3)

您使用的是哪种数据源实例? 如果您使用的是sqlexpress,那么您应该放置Data source = myserver \ sqlexpress。对于任何实例,它应该类似于Data Source = ServerName \ InstanceName

答案 1 :(得分:1)

您的连接字符串中似乎有换行符,这也是错误所暗示的(即Initial\r\nCatalog)。

确保不在属性值中添加任何换行符。

<add
  name="uniteCms"
  connectionString="Data Source=myserver;Initial Catalog=DB_9DF962_davidbuckleyni37;User ID=DB_9DF962_davidbuckleyni37_admin;Password="
  providerName="System.Data.SqlClient" />

如果你真的想要将其分解,你可以尝试在连接字符串中的分隔符之后添加它,但我不确定它是否会被允许。

这可能会有效,可能会因崩溃而失败,或者可能会在没有说任何事情的情况下失败,并且稍后会因为未经授权而给您一个例外(因为只使用了第一行)。

<add
  name="uniteCms"
  connectionString="Data Source=myserver;
                    Initial Catalog=DB_9DF962_davidbuckleyni37;
                    User ID=DB_9DF962_davidbuckleyni37_admin;
                    Password="
  providerName="System.Data.SqlClient" />