Nello script #1044 abbiamo visto come sfruttare SQL Server Compact 4.0 come engine di database per un'applicazione ASP.NET. Come già accennato, la più importante caratteristica di questo prodotto è l'assenza di una vera e propria architettura client-server, tipica dei DBMS tradizionali: SQL Server Compact 4.0 è semplicemente composto da una serie di librerie, eseguite all'interno del medesimo processo dell'applicazione, e che lo rendono l'ideale per il deploy in scenari di hosting condiviso.
Tipicamente, infatti, in questi ambienti non abbiamo molte possibilità di configurazione, né possiamo installare servizi aggiuntivi. Con SQL Server Compact 4.0, tutto ciò che dobbiamo fare è copiare alcuni assembly nella cartella \bin della nostra applicazione web, in modo che siano raggiungibili da ASP.NET e possano essere caricati in memoria al primo accesso ai dati. In questo senso, risulta di grande utilità la nuova funzionalità Add Deployable Dependencies di Visual Studio 2010 SP1, accessibile dal menu contestuale del progetto.

Questa opzione, infatti, aggiunge al progetto una nuova cartella, chiamata _bin_deployableAssemblies, che contiene tutti gli assembly necessari al deploy dei componenti client e del motore di database, sia nella versione per architetture x86 che per processori x64 a 64 bit.

A questo punto non ci resta che copiare i file necessari nella cartella \bin del server di destinazione, e in particolare:
- Il contenuto della cartella x86 o amd64, a seconda della tipologia del processore che vogliamo supportare;
- Gli assembly System.Data.SqlServerCe e System.Data.SqlServerCe.Entity, utilizzati da ADO.NET per interfacciarsi con il database.
Prima di eseguire l'applicazione, è inoltre buona norma verificare di aver fornito all'account del processo di ASP.NET i privilegi di scrittura sul file del database, in modo da evitare errori di accesso a runtime.
Riferimenti utili
Dite addio ad Access con SQL Server Compact 4.0 (speciale)https://www.aspitalia.com/focuson/1207/Dite-Addio-Access-SQL-Server-Compact-4.0.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare .NET 6 su Azure Web App con ARM
Creare Azure Function con supporto a OpenAPI
Continuous Deployment tramite GitOps
Taggare le query create con EF Core con informazioni di debug sul codice
Le regole da seguire per effettuare la migrazione a Bootstrap 5
Scoprire cosa succede in un layer di un Dockerfile
Leggere il valore di un header della richiesta in ASP.NET Core 6
Utilizzare il metodo Chunk per creare blocchi di oggetti di uguali dimensioni partendo da una lista
Utilizzare le Promise in Javascript - seconda parte
Accedere alla console di una Azure Container App
Comprimere le immagini contenute in un repository con una GitHub Action
Creare un'istanza di Azure Service Bus con ARM
I più letti di oggi
- Semplificare la gestione delle eccezioni per parametri non nullable in C#
- devConf 2022 - Online
- Impostare il tema light o dark utilizzando i CSS
- Impostare un default custom per i metodi LINQ che tornano il valore di default
- Utilizzare il metodo reduce in JavaScript
- Recuperare la data di creazione e ultima modifica di un record con Entity Framework Core e le temporal table di SQL Server
- Gestire eventi di serializzazione e deserializzazione in .NET con System.Text.Json
- Usare domini personalizzati con Azure Container App
- Utilizzare l'API del browser fetch