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
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Migrare una service connection a workload identity federation in Azure DevOps
Usare una container image come runner di GitHub Actions
Le novità di Angular: i miglioramenti alla CLI
C# 12: Cosa c'è di nuovo e interessante
Disabilitare automaticamente un workflow di GitHub (parte 2)
Filtering sulle colonne in una QuickGrid di Blazor
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Miglioramenti nelle performance di Angular 16
Miglioramenti agli screen reader e al contrasto in Angular
Proteggere le risorse Azure con private link e private endpoints
Gestire i dati con Azure Cosmos DB Data Explorer