app.Config中的ConnectionString不起作用

时间:2014-06-29 11:19:05

标签: c# sql connection-string

在我的winform项目中,我有一个连接到SQL的连接字符串。我在这样的app.config文件中有这个连接;

 <connectionStrings>
  <add name="MyConnectionString" providerName="System.Data.SqlClient"
        connectionString="Server=(localdb)\\v11.0; Integrated Security=true; AttachDbFileName=C:\\Folder\\mydataBaseName.mdf;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False" 
   />

我得到了连接:

string config = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
//and then
 using (SqlConnection conexao = new SqlConnection(config))
        {
            conexao.Open();
         .......
         .......
        }

当我运行应用程序时,我收到一条错误消息:&#34;未处理的类型&#39; System.Data.SqlClient.SqlException&#39;发生在System.Data.dll&#34;

但是,如果我直接从代码中调用连接字符串(不使用app.config),那么就可以了。

string config = "Server=(localdb)\\v11.0; Integrated Security=true; AttachDbFileName=C:\\Folder\\mydataBaseName.mdf;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";

任何ideias,如何解决问题?

感谢Leonor

1 个答案:

答案 0 :(得分:8)

在C#非逐字字符串文字中,如果要在字符串中包含单个反斜杠字符,则使用\\

在其他文件中,反斜杠不一定是特殊字符。在Web.config连接字符串中,您可以直接包含反斜杠,而不会加倍。

或者,换句话说,一个连接字符串起作用而另一个不连接的原因是因为你确实有两个不同的连接字符串。