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
Rendere le variabili read-only in una pipeline di Azure DevOps
Migliorare la sicurezza dei prompt con Azure AI Studio
Selettore CSS :has() e i suoi casi d'uso avanzati
Fornire parametri ad un Web component HTML
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Utilizzare Azure Cosmos DB con i vettori
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Gestione dell'annidamento delle regole dei layer in CSS
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Cancellare una run di un workflow di GitHub
Aggiornare a .NET 9 su Azure App Service