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
Utilizzare QuickGrid di Blazor con Entity Framework
Utilizzare Tailwind CSS all'interno di React: installazione
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Sfruttare lo streaming di una chiamata Http da Blazor
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Utilizzare un service principal per accedere a Azure Container Registry
Eseguire una GroupBy per entity in Entity Framework
Usare un KeyedService di default in ASP.NET Core 8
Paginare i risultati con QuickGrid in Blazor
Usare una container image come runner di GitHub Actions
Evitare la command injection in un workflow di GitHub
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode