Macro "Directory dati" di SQL Server Compact nella stringa di connessione: sono necessarie ulteriori informazioni
-
06-07-2019 - |
Domanda
Quindi, come descritto su questa pagina msdn , quando definisci una stringa di connessione per SQL Server Compact 3.5, puoi utilizzare la " Directory dati " macro, in questo modo:
citazione da questa pagina msdn :
Supporto directory dati
SQL Server Compact 3.5 ora supporta la macro Directory dati. Ciò significa che se si aggiunge la stringa | DataDirectory | (racchiuso tra simboli di pipe) in un percorso di file, si risolverà nel percorso del database.Ad esempio, considera la stringa di connessione:
" Origine dati = c: \ program files \ MyApp \ Mydb.sdf "
Quando si utilizza Directory dati, è possibile invece utilizzare la seguente stringa di connessione:
" Origine dati = | DataDirectory | \ Mydb.sdf "
Per ulteriori informazioni, vedere Procedura: distribuire un database di SQL Server Compact 3.5 con un'applicazione.
Tuttavia, il link "per ulteriori informazioni" su msdn non fornisce in realtà ulteriori informazioni.
Quindi la mia domanda è:
Come funziona | Directory dati | macro tradurre in fase di esecuzione? Per le app WinForm, sembra semplicemente indicare la posizione dell'eseguibile. O è più complicato di così?
Soluzione
Per impostare la proprietà DataDirectory, chiamare il metodo AppDomain.SetData. Se non si imposta la proprietà DataDirectory, per accedere alla cartella del database verranno applicate le seguenti regole predefinite :
- Per le applicazioni inserite in a cartella sul computer dell'utente, il la cartella del database utilizza l'applicazione cartella.
- Per le applicazioni in esecuzione sotto ClickOnce, la cartella del database utilizza la cartella di dati specifica che è creato.
Altri suggerimenti
Controlla questo link: http://msdn.microsoft.com/en-us/library/aa478948.aspx
La | DataDirectory | parte della stringa di connessione specifica che il file MDF si trova nella directory App_Data.