Dite addio ad Access con SQL Server Compact 4.0

di Daniele Bochicchio, in Primo piano,

Uno speciale tutto nuovo, che per tre settimane ci accompegnerà alla scoperta dell'alternativa ad Access: SQL Server Compact 4.0.

Per anni, molti sviluppatori hanno utilizzato Access ed il relativo Jet Engine perchè consentiva di semplificare il deployment in caso di applicazioni non complesse: basta copiare il file per avere accesso, nella totalità dei server, ai dati contenuti nel database.

In realtà, Access non è nato per essere utilizzato come motore relazionale, soprattutto in scenari distribuiti, o in applicazioni web, perchè il Jet Engine, il motore che si occupa di consentire l'accesso ai database .mdb, non è pensato per carichi elevati ed ha, soprattutto, il limite di una sola scrittura per volta.

Access non gode di un grande supporto nelle ultime tecnologie: non è supportato da Entity Framework, quindi nè da ASP.NET Dynamic Data, nè da WCF RIA Services, nè da altre tecnologie recenti.

Il motivo è che Access non è nato per queste funzionalità e non si sarebbero potute adattare facilmente. In tal senso, Microsoft ha reso disponibile da diversi anni una versione Express di SQL Server, gratuita, che però ha il grosso difetto di non andare d'accordo con gli scenari in cui Access ancora oggi risulta vincente: il deployment XCopy, cioè la messa in linea di un'applicazione, con tanto di database, con la semplice azione della copia dei file.

Per questo motivo, Microsoft ha rilasciato SQL Server Compact 4.0 (anche noto come SQL CE): si tratta di un motore in-process, multi-threading e multi utente, compatibile con .NET Framework 3.5 e 4.0, che ha una sintassi compatibile con quella di SQL Server e consente, dunque, un passaggio abbastanza indolore, nel caso in cui le necessità dell'applicazione dovessero crescere.

A differenza delle versione precedenti, questa versione è compatibile con applicazioni desktop e web (ASP.NET), ma non con Windows Mobile (o il recente Windows Phone).

E' particolarmente interessante perchè non necessita di installazione: è sufficiente copiare i file, perchè il motore si avvia insieme all'applicazione (ASP.NET o desktop che sia) e risiede nel processo della stessa. Ed insieme all'engine, è poi sufficiente copiare il database vero e proprio, che può essere anche facilmente salvato in locale: basta copiarlo per avere un backup.

Nell'attuale versione è supportato sia l'accesso diretto, tramite ADO.NET, sia attraverso Entity Framework: questo consente di sfruttare SQL CE 4 anche con WCF RIA Services, Data Services, ASP.NET Dynamic Data e tutte la variazioni sul tema, perchè di fatto è supportato come lo è SQL Server (o un qualsiasi altro database per cui esista un provider).

Download

L'engine può essere scaricato da questo indirizzo. E' completamente gratuito.

Tool di gestione

I tool sono integrati nel Service Pack 1 di Visual Studio 2010 (attualmente in beta).

In alternativa, si può utilizzare SQL Server Compact Toolbox, un addin gratuito disponibile su CodePlex.

Il nostro speciale

Pubblicheremo, durante le prossime settimane, una serie di contenuti a tema, che spaziano dal deployment all'uso di SQL Server Compact 4.0 con ASP.NET, .NET Framework, LINQ ed Entity Framework:

    Per ricevere una notifica automatica alla pubblicazione dei contenuti, puoi iscriverti alle liste unoscript@lgiorno, oppure seguire l'apposito feed con i nostri contributi RSS, oppure Twitter.

    Commenti

    Visualizza/aggiungi commenti

    | Condividi su: Twitter, Facebook, LinkedIn

    Per inserire un commento, devi avere un account.

    Fai il login e torna a questa pagina, oppure registrati alla nostra community.

    Approfondimenti