348 messaggi dal 10 marzo 2013
Ciao a tutti

Mi sto scontrando in questi giorni con la pubblicazione di una piccola appilcazione gestionale, il database contiene solo una tabella.
la mia domanda è questa: è possibile che io debba installare sql sul pc dell'utente per poter utilizzare l'applicazione ? o mi sto perdendo qualcosa?
Perchè se cosi fosse per quanto ne capisco io di programmazione(poco),
mi sembra un pò assurdo.

L'applicazione è un'applicazione desktop.
sto usasndo ClikOnce per pubblicare.
Grazie a tutti
Modificato da Oiram il 06 febbraio 2016 07.55 -
348 messaggi dal 10 marzo 2013
Grazie Moreno per il suggerimento, ma leggendo qua e la forse mi sono confuso di più le idee.
Io ho già installato sqlserver express 2012, l'ho uso già per le aplicazioni web(lo uso è un parolone nel mio caso). Non ho ben capito cosa devo fare per attivare/installare SqlLOCALDb.
Altra cosa: ma se installo LOCALDB non ho capito se, questo è un'aggiunta a sql o se poi potrò usarlo solo in locale e non piu' come l'ho usato fino ad ora, cioè per creare anche appilcazioni web!
Sicuramente mi e' sfiggito qualcosa.

Grazie vista l'ora spero di avere utilizzato un'italiano comprensibile.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Mario,
la tua prima domanda riguardava la pubblicazione di un'applicazione Windows con ClickOnce. Dato che l'applicazione usa un database .mdf, è necessario che sul PC dell'utente sia presente SQL Express o LocalDB affinché la connessione al database possa funzionare. E' normale che sia così, perché stai usando una tecnologia database ricca di funzionalità, che nasce per funzionare in ambienti server.

Fortunatamente puoi veicolare Sql Express o LocalDB insieme alla tua applicazione ClickOnce. Infatti, se dal Solution Explorer fai tasto destro sul tuo progetto -> Publish -> Prerequisites... vedrai che in elenco troverai appunto LocalDb, che forse è il modo più indicato per far arrivare l'engine di Sql Server Express sul PC del tuo utente.

Sql Server Express e LocalDb sono sostanzialmente la stessa cosa. Per semplificare molto, diciamo che LocalDb è una configurazione di Sql Server Express che è in grado di andare in esecuzione come processo utente, anziché come servizio, e perciò è indicata in situazioni in cui c'è 1 solo utente a collegarsi al database.

Pensa per esempio al tuo PC di sviluppo. Mentre scrivi applicazioni, sei soltanto tu che ti colleghi al database in cui si trovano i dati. Se hai installato Visual Studio, è probabile che sul tuo PC tu abbia già presente una istanza di LocalDB. Lo puoi verificare dalla finestra "Sql server object explorer" di Visual STudio. Lì troverai elencate tutte le istanze, tra cui potrebbe esserci quella di LocalDb. Anche se non ce l'hai non fa niente, puoi continuare a sviluppare come hai sempre fatto.

Ora bisgona capire se vale la pena utilizzare un database .mdf per questo progetto. Dato che hai una sola tabella potresti usare una tecnologia database che ti dia meno funzionalità ma che richieda un'installazione meno esosa in termini di spazio per l'utente. In questo caso puoi valutare Sql CE oppure SQLite, che nascono come database embedded, cioè adatti ad essere usati da uno o pochi utenti, anziché come database servers.

ciao,
Moreno

Enjoy learning and just keep making
43 messaggi dal 30 gennaio 2016
Ciao Oriam,non puoi semplicemente usare un Excel oppure un Xml o addirittura un banale .txt ?

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.