2013-07-09 11 views
19

Ho bisogno di implementare un servizio WCF con un database sulle macchine client. Sono confuso su SQL Server Express. Devo verificare tutto quanto segue.confusione su SQL Server Express e LocalDB

Quando si collegano i file di database nella cartella App_Data, è ancora necessario installare il motore di SQL Server Express (servizio Windows) sui computer client?

C'è un sapore chiamato SQL Server Express LocalDb. Quello non ha bisogno di un motore (servizio Windows)? Ma penso che sia necessaria un'installazione prerequisita di LocalDb.

LocalDB viene introdotto con SQL Server 2012. Non c'è LocalDB per SQL Server 2008. Corretto? Non sono riuscito a trovare la versione 2008 sul sito di MS.

+0

Hai ragione, SQL Server LoclalDB è stato introdotto con la versione 2012. –

risposta

13

Devo ancora installare il motore di SQL Server Express (Un servizio di assistenza) sui computer client?

Sì, ne hanno bisogno per l'applicazione per interrogare il database. Non posso davvero aggirarlo.

C'è un sapore chiamato SQL Express localDb. Che uno non ha bisogno di un motore (servizio di vincere)? ma penso che hanno bisogno di un'installazione prerogativa di LocalDB.

Sì, è necessario installare LocalDB sul computer client. E 'abbastanza per fare senza problemi, ma penso che sia eccessivo a meno che non si ha realmente bisogno le funzionalità di un'istanza di SQL Server per il webservice.

Invece di LocalDB consiglio vivamente di utilizzare SQL Server Compact Edition - esegue il ruolo a cui stai pensando (il tuo servizio WCF può semplicemente connettersi direttamente al file di database sulle macchine client senza installare SQL Server ed è leggero), ma non ha bisogno di essere installato (è semplicemente incluso come una DLL con l'applicazione WCF):

a differenza di altre edizioni di Microsoft SQL Server, SQL CE corre in-process con l'applicazione che ospita esso.

Nelle parole di Microsoft sul differences between LocalDB and SQLCE:

LocalDB e SQL Server Compact?

Database piccolo e semplice, installazione leggera, connessione a un file di database - questo suona familiare a qualsiasi sviluppatore che utilizza SQL Server compatto. Le somiglianze non sono casuali, come il nostro obiettivo per LocalDB è stato quello di essere il più facile da usare come SQL Server Compact (pur essendo come potente e compatibile con il pieno di SQL Server come SQL Express).

Non ci sono differenze significative tra LocalDB e SQL Server Compact :

modalità di esecuzione: SQL Server Compact è una DLL in-process, mentre LocalDB viene eseguito come un processo separato.

SQL Server CE è un po 'come una versione aggiornata di MS Access, il file va con l'applicazione in grado di "basta collegarsi" al file di database senza coinvolgere alcuna installazione server di database, e la sua sintassi/caratteristiche sono molto vicino allo standard di SQL Server.

+1

Non riesco a capire perché uno sviluppatore debba inserire un file di database nella cartella App_Data? – Costa

+4

Perché questo è lo scopo esplicito della cartella App_Data nei progetti di Visual Studio: un percorso non accessibile da Web per l'applicazione per archiviare i file locali di cui ha bisogno (in questo caso un file di database). –

+1

Sono abbastanza sicuro che SQL Server Compact Edition sia stato deprecato btw. Vedi la discussione dal primo link e maggiori dettagli sulla differenza tra le diverse versioni nel secondo link. http://stackoverflow.com/questions/20363374/is-sql-server-compact-discontinued-from-visual-studio-2013 https://blogs.msdn.microsoft.com/sqlexpress/2011/07/12/introducendo-LocalDB-un-migliore-sql-express / –

Problemi correlati