21 messaggi dal 29 gennaio 2012
Vorrei realizzare un'applicazione desltop stand alone e al posto di un databae tipo access è possibilie utilizzare Localdb? Per un utente con installazione locale è possibile passare nel file di installazione il database + LocalDb da installare sul client?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao e benvenuto nel forum!
sì, puoi usare LocalDB che va in esecuzione con i privilegi dell'utente e per questo è perfettamente idoneo per applicazioni desktop.
Installata l'applicazione per tutti gli utenti di un PC, puoi fare in modo che ogni utente abbia il suo proprio database LocalDb, così che il lavoro e le preferenze di ciascuno siano isolate efficacemente. Ora, non vorrei dire una stupidaggine, ma mi pare che se usi |DataDirectory| nella connection string, essa verrà sostituita dal percorso della cartella %appdata% dell'utente corrente (da provare).

Il formato del database è .mdf, lo stesso di Sql Server e supporta, tra gli altri, Stored Procedures, Triggers, Views, Tipi spaziali, Linq to Sql e Service Broker.

Per questo ha un impatto non indifferente. Quando distribuisci la tua applicazione, devi includere nel tuo installer il pacchetto ridistribuibile SqlLocalDB.msi, che puoi scaricare da qui:
http://www.microsoft.com/it-it/download/details.aspx?id=29062
L'installer pesa una trentina di Megabytes e dopo l'installazione si espanderà per occupare - a spanne - circa 160 Megabytes.

Non è un servizio, ma un semplice eseguibile sqlserv.exe che viene lanciato nel momento stesso in cui provi a collegarti al db dalla tua applicazione.

In alternativa puoi usare Sql Server Compact Edition che non ha tutte le funzionalità di LocalDb ma ha un impronta sul sistema estremamente ridotta. L'installer pesa 2,5 Mb ed installato va ad occupare 18 Mb.

A questo indirizzo trovi il confronto tra LocalDb e Sql Server CE.
http://blogs.msdn.com/b/jerrynixon/archive/2012/02/26/sql-express-v-localdb-v-sql-compact-edition.aspx

ciao
Modificato da BrightSoul il 08 dicembre 2012 13.47 -

Enjoy learning and just keep making
21 messaggi dal 29 gennaio 2012
gRande grandissima e graditissima risposta.
21 messaggi dal 29 gennaio 2012
Ancora qualche domanda:
Utilizzando la distribuzione ClickOnce come faccio ad includere nel mio pacchetto di installazione il file SqlLocalDB.msi e/o altri file di utilità?

Come faccio ad utilizzare SQL server CE all'interno di visual studio 2013 express edition? e poi come faccio a distribuirlo?

Un database creato con SQL server 12 Express può essere utilizzato in VS 2013 con SQL CE e con quale procedura di distribuzione?

L'obiettivo è di avere una applicazione autonoma e leggera che non necessiti di installazioni di appplicativi esterni.

Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Bruno,


Utilizzando la distribuzione ClickOnce come faccio ad includere nel mio pacchetto di installazione il file SqlLocalDB.msi e/o altri file di utilità?

C'è un tasto "Prerequisiti" tra le proprietà del progetto. Ecco la guida:
https://msdn.microsoft.com/it-it/library/8st7th1x.aspx


Come faccio ad utilizzare SQL server CE all'interno di visual studio 2013 express edition? e poi come faccio a distribuirlo?
Prova questa estensione per collegarti al database Sql CE.
https://marketplace.visualstudio.com/items?itemName=ErikEJ.SQLServerCompactSQLiteToolbox
Ad ogni modo, SQL CE è stato deprecato e ciò vuol dire che non ne verranno sviluppate ulteriori versioni. Puoi dare un'occhiata a Sqlite, che potrai accedere da Visual Studio con la stessa estensione per Visual Studio.



Un database creato con SQL server 12 Express può essere utilizzato in VS 2013 con SQL CE e con quale procedura di distribuzione?

Sia SQLCE che Sqlite sono accessibili dalla sua applicazione usando i rispettivi connettori che puoi ottenere da NuGet.
https://www.nuget.org/packages/SqlServerCompact
https://www.nuget.org/packages/System.Data.SQLite


Un database creato con SQL server 12 Express può essere utilizzato in VS 2013 con SQL CE

No, i database di SQL richiedono un'istanza di SQL Server/LocalDB per essere utilizzati. Un database di SQLCE, invece, richiede semplicemente il pacchetto NuGet che ti ho linkato.

Se devi convertire un db esistente da Sql a SqlCE, vedi se questo tool ti aiuta.
http://erikej.blogspot.it/2010/02/how-to-use-exportsqlce-to-migrate-from.html

Altrimenti puoi fare un'esportazione dello schema (e dei dati) da Sql Server Management Studio.
https://msdn.microsoft.com/it-it/library/ms140052.aspx

ciao,
Moreno
Modificato da BrightSoul il 11 marzo 2017 09.43 -

Enjoy learning and just keep making
21 messaggi dal 29 gennaio 2012
Grazie
mi hai dato molte indicazioni. Adesso ci devo lavorare sopra ti farò sapere i miei progrssi in merito.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.