Sì, | DataDirectory | Applicazione Web per selezionare la directory App_Data dell'applicazione Web.
In una non applicazione web, a seconda del .NET Framework, potrebbe essere utilizzato e cambiato anche usando AppDomain.SetData
Ma avete altre due posiblities per creare la connessione:
1 .- Utilizzare un percorso relativo:
String con ="... AttachDbFilename=Databases\MyUnitTestDB.mdf ... ";
2.- ottenere il percorso dell'applicazione e aggiungere alla stringa.
in C# Applicazione Windows è possibile utilizzare Application.StartupPath
String con= " ... AttachDbFilename=" + Application.StartupPath + "\Databases\MyUnitTestDB.mdf ... ";
A seconda del tipo applicaiton o la modalità di lancio che hai diverse proprietà. Es:
- Application.StartupPath - Il percorso di avvio dell'applicazione exe che avvia l'applicazione
Application.ExecutablePath - il percorso di avvio di un nome dell'applicazione exe che stats l'applicazione Ma per utilizzare l'applicazione è necessario includere System.Windows.Forms che non è incluso, ad esempio, nelle applicazioni della console.
System.IO.Path.GetDirectoryName (.. System.Reflection.Assembly.GetExecutingAssembly() GetName() Codebase) - Questo diventa il percorso dal gruppo corrente "dll, exe, ... "Non è influenzato dal tipo di applicazione, dai cambiamenti di percorso, ... Restituisce sempre la directory quando risiede l'Assemby.
Environment.CurrentDirectory - la directory corrente. Questo può essere modificato ad esempio se navighi in cartelle.
È possibile trovare maggiori informazioni sulle diverse opzioni della stringa di connessione qui http://www.connectionstrings.com/sql-server-2005
Per ulteriori informazioni sul termine ** DataDirectory **: http://msdn.microsoft.com/en-us/library/cc716756.aspx (cercare " DataDirectory ", è alla fine del documento) –