Dmitry Makovetskiyd
Dmitry Makovetskiyd

Reputation: 7053

Connection strings and attached database

I use to attach a database to my server explorer in visual studio 2010, instead of using a connection to sql server 2008 which i have installed on my pc.

Example: My connection string used to be this:

<add name="YourGuruDB" 
     connectionString="Data Source=DIMA-00AA1DA557;Initial Catalog=model;Integrated Security=True"/>

And now it has changed to this:

<add name="YourGuruDB" 
     connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename='C:\Documents and Settings\Little Rabbit\Desktop\New Folder (2)\YourGuruDB1.mdf';Integrated Security=True;Connect Timeout=30;User Instance=True" 
     providerName="System.Data.SqlClient"/>

Is there a difference in the way I choose to connect a database (on performance or security or comfort, for example)?

Upvotes: 1

Views: 2032

Answers (1)

marc_s
marc_s

Reputation: 755321

Your first connection string is using SQL Server (Express or other edition) as a server - the server is running the whole time, your clients are just connecting to it using a symbolic name (for the server and the database).

In your second example, you're limited to the SQL Server Express editions - this approach doesn't work with any other edition. Also: you're "spinning up and attaching" a SQL Server Express instance when you connect ---> sounds like this might take up quite some time, at least during the first hit. And also: now your clients suddenly have to deal with presence of .MDF files and stuff like that.....

Personally, I would always use the server-based approach - or if you really need a database on a local client machine, use SQL Server Compact Edition (using a single .sdf file) instead.

Upvotes: 1

Related Questions