SqlConnection连接字符串不起作用

时间:2015-04-26 22:57:08

标签: c# asp.net visual-studio-2013

我知道有很多问题已经涉及这个问题,但我找不到能解决问题的问题。

我很确定我的连接字符串是正确的,因为我直接从数据库中复制它" ConnectionString"属性,然后只是转义字符串中的斜杠和引号。

我的代码如下所示:

con = new SqlConnection();
con.ConnectionString = "Data Source=(LocalDB)\\v11.0;Initial Catalog=\"C:\\USERS\\PC\\DOCUMENTS\\VISUAL STUDIO 2013\\PROJECTS\\WEBAPPLICATION9\\WEBAPPLICATION9\\APP_DATA\\DATABASE1.MDF\";Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";
con.Open();

当我运行我的代码时,我会收到一个SqlException,它只是说"无法连接到数据库。"

2 个答案:

答案 0 :(得分:3)

当数据库文件位于~/App_Data/文件夹中时,请使用DataDirectory而不是数据库文件的硬编码路径。

con.ConnectionString = "Data Source=(LocalDB)\\v11.0;Initial Catalog=\"|DataDirectory|\\database1.mdf\";Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";

答案 1 :(得分:1)

为了便于阅读和理智,你应该做这样的事情。

con = new SqlConnection();
con.ConnectionString = String.Format("Data Source={0};Initial Catalog={1};Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False", @"(LocalDB)\\v11.0", @"C:\USERS\PC\DOCUMENTS\VISUAL STUDIO 2013\PROJECTS\WEBAPPLICATION9\WEBAPPLICATION9\APP_DATA\DATABASE1.MDF");
con.Open();