我知道有很多问题已经涉及这个问题,但我找不到能解决问题的问题。
我很确定我的连接字符串是正确的,因为我直接从数据库中复制它" 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,它只是说"无法连接到数据库。"
答案 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();