LocalDB Visual Studio 2013 - Aiuto

sabato 09 agosto 2014 - 10.18
Tag Elenco Tags  VB.NET  |  .NET 4.0

86Marco Profilo | Expert

Salve ragazzi.
mi ero un attimo allontanato dallo sviluppo di desktop application. Oggi che ne ho nuovamente bisogno ho scaricato Visual Studio versione 2013.

Ho creato un piccolo progettino con Sql Server e a quanto vedo, a differenza delle altre versioni che utilizzavano istanze di SQL Server Express, questa versione utilizza LocalDB.

Cosa è esattamente LocalDB? Mi pare di capire che è sempre un database SQL Server che aiuti di molto lo sviluppatore in quanto non necessita di configurazioni. Sbaglio?

Ma la vera domanda è questa:
Per cosa è consigliato utilizzare un LocalDB?
Io mi ritrovo in questo scenario:

Apro il progetto ed aggiungo un SQL server (localDB per default) e sviluppo l'applicazione che funziona egregiamente in termini di insert, delete, select e quant'altro.

Il progetto mi salva automaticamente la connectionstring del localDb e fino a qui ci siamo.

Tutto fila dritto se io utilizzo questo programmino su di una macchina. Ma se dovessi decidere di collegare la mia applicazione ad un SQL Server (in modo tale da centralizzare i dati) presente in ufficio che ha una copia identica di quel database cosa dovrei fare? Dovrei cambiare la connectionstring del progetto in modo tale da fare puntare l'applicazione alla nuova origine dati?

Sapete aiutarmi?

Grazie

0v3rCl0ck Profilo | Guru

Si hai detto bene, LocalDB non è nient'altro che un versione di sql server orientata agli sviluppatori, ma è a tutti gli effetti un sql server, tanto più che usa lo stesso eseguibile sqlservr.exe di sql express / enterprise, in pratica le uniche differenze sono che non devi fare procedure particolare di installazioni (si installa con visual studio), e che l'engine si attiva on-demand, e cioè quando cerchi di effettuare una connessione, il driver ado.net, controlla se l'eseguibile di sql è attivo, e se no, lo esegue, poi quell'istanza di sql è configurata per spegnersi automaticamente dopo X minuti dalla chiusura dell'ultima connessione attiva.

Trovi tutto spiegato qui: http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

Puoi tranquillamente sviluppare in localdb, e poi in produzione, fare girare la tua applicazione su un sql server anche enterprise, semplicemente cambiando la connection string, il resto non cambierà assolutamente niente, specialmente per quanto riguarda la programmazione verso ado.net, ovviamente con una versione più completa di sql hai poi le varie funzionalità aggiuntive di amministrazione, quali security, repliche, ssis, job, ecc...ecc...ecc... ma a livello di programmazione non ti cambia niente, l'hanno fatto proprio apposta.

spero di averti chiarito la situazione.

Ciao!
Michael Denny | Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

86Marco Profilo | Expert

Ei grazie sei stato molto chiaro

Un ultima cosa: c'è 1 modo per.poter inserire all'interno di un progetto sia desktop che web un sql server direttamente da una istanza enterprise o express e lavorare su quello?

Se io infatti inserisco un db mdf per default mi viene inseito in localdb...

0v3rCl0ck Profilo | Guru

i file mdf non devono essere messi nel progetto per poterli utilizzare, è sufficiente che i file siano in attach sull'instanza sql server che vuoi, e poi da qualsiasi tipo di applicazione, utilizzi ado.net e la connection string opportuna per raggiungere la tua istanza sql.

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

qua trovi tutte le connection string del mondo :) https://www.connectionstrings.com/sql-server/




Michael Denny | Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

86Marco Profilo | Expert

Chiarissimooo!! Graziee
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5