Reputation: 1888
I understand there are many questions already covering this subject, but I am unable to find one that solves my problem.
I am pretty sure that my connection string is correct, because I am copying it directly from the database's "ConnectionString" property, and then just escaping slashes and quotation marks in the string.
My code looks like this:
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();
When I run my code, I am given an SqlException that simply says "Cannot connect to database."
Upvotes: 0
Views: 1413
Reputation: 32694
Use DataDirectory instead of a hardcoded path to your database file when your database file resides in your ~/App_Data/
folder.
con.ConnectionString = "Data Source=(LocalDB)\\v11.0;Initial Catalog=\"|DataDirectory|\\database1.mdf\";Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";
Upvotes: 3
Reputation:
For readability and sanity, you should do something like this.
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();
Upvotes: 1