Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SQLite supporta il caricamento delle estensioni in fase di esecuzione. Le estensioni includono funzioni SQL aggiuntive, regole di confronto, tabelle virtuali e altro ancora.
.NET include logica aggiuntiva per l'individuazione di librerie native in posizioni aggiuntive, ad esempio pacchetti NuGet a cui si fa riferimento. Sfortunatamente, SQLite non è in grado di sfruttare questa logica; chiama direttamente l'API della piattaforma per caricare le librerie. Per questo motivo, potrebbe essere necessario modificare le PATHvariabili di ambiente , LD_LIBRARY_PATHo DYLD_LIBRARY_PATH prima di caricare le estensioni SQLite. Su GitHub è disponibile un esempio che illustra come trovare i binari per il runtime corrente all'interno di un pacchetto NuGet a cui si fa riferimento.
Per caricare un'estensione, chiamare il metodo LoadExtension. Microsoft.Data.Sqlite garantisce che l'estensione rimanga caricata anche se la connessione viene chiusa e riaperta.
// Load the SpatiaLite extension
connection.LoadExtension("mod_spatialite");
var command = connection.CreateCommand();
command.CommandText =
@"
SELECT spatialite_version()
";
var version = (string)command.ExecuteScalar();
Console.WriteLine($"Using SpatiaLite {version}");
Nota
Il metodo LoadExtension è stato aggiunto nella versione 3.0.