I am not sure what’s going on exactly as I can’t establish a strict linear correlation between
events. But below you’ll find my connection string, at times it works, other times when I open the app/project I am building (no changes made) it doesn’t and gives me various errors and reasons.
<add name="EFDbContext"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\EFDbContext.mdf;MultipleActiveResultSets=true;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
Errors include:
Unable to complete operation. The supplied SqlConnection does not specify an initial catalog.
or
saying Amin-PC\Admin has no access rights (I am logged in admin)
Also when I try to add a new connection at times it will tell me I have no access rights or database already exists or just adds it normally!
I tried explicitly starting visual studio as administrator and this seemed to help with the denied access to the db issue.
Basically I don’t know what the heck’s going on.
Have recently started with .net and it has been easy coding for asp.net mvc framework until I got to interacting with underlying asp.net infrastructure, connection strings, outdated (noon-entity framework ready) membership provider etc.
And now don’t know what’s going on with the SQL Server Express edition that gets installed a long with VS2010.
My recommendation would be: since you already have a server instance (
.\SQLEXPRESS) installed – attach your databases to the SQL Server Express instance, and then use them under their database name (instead of using the shakyAttachDbFileName=method).So:
Your connection string would then look something like:
I find this method is typically much more reliable and predictable – the
AttachdbFileName=andUser Instance=trueare supposed to be easier, but tend to be more confusing that anything else….