Exitos
Exitos

Reputation: 29720

What does this connection string mean?

data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true

Specifically what does

AttachDBFilename=|DataDirectory|\aspnetdb.md

mean?

Upvotes: 1

Views: 1107

Answers (2)

user727374
user727374

Reputation: 167

|DataDirectory| (enclosed in pipe symbols) is a substitution string that indicates the path to the database. It eliminates the need to hard-code the full path which leads to several problems as the full path to the database could be serialized in different places. DataDirectory also makes it easy to share a project and also to deploy an application.

For example, instead of having the following connection string:

"Data Source= c:\program files\MyApp\Mydb.sdf"

Using DataDirectory, you can have the following connection string:

“Data Source = |DataDirectory|\Mydb.sdf”

To set the DataDirectory property, call the AppDomain.SetData method. If you do not set the DataDirectory property, the following default rules will be applied to access the database folder: • For applications that are put in a folder on the user's computer, the database folder uses the application folder. • For applications that are running under ClickOnce, the database folder uses the specific data folder that is created.

*i forgot to add the link so here ya go -> http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/dc31ea59-5718-49b6-9f1f-7039da425296/ *

Upvotes: 1

Marco
Marco

Reputation: 57583

It means that the connection will open aspnetdb.mdb on published app data dir.
This avoid you to read dir inside your web app once published.
Visual Studio does it automatically for you at runtime.

Upvotes: 1

Related Questions