Applicazione Java con Database SQLite operazioni avanzate

Applicazione Java con Database SQLite operazioni avanzate

Lettura di database in rete

riferimento originale (https://github.com/xerial/sqlite-jdbc/blob/master/Usage.md)

Per inglobare il database nell’applicazione (ad es. File db all’interno di un file jar), si usa la parola chiave ::resource: nel percorso del DB.

Connessione conn = DriverManager.getConnection ("jdbc:sqlite::resource: tuopackage/ese.db");

i Database possono essere accessibili tramite un indirizzo web, in questo modo se l’applicazione viene distribuita, si ha la possibilità di accesso ad un unico DB!

Connessione conn = DriverManager.getConnection ("jdbc: sqlite :: resource: http: //www.miosito.org/.../ese.db ");

Si possono anche configurare connessioni in sola lettura ad esempio:

SQLiteConfig config = new SQLiteConfig (); 

config.setReadOnly (true);

config.setSharedCache (true);

config.recursiveTriggers (true);

// … altra configurazione può essere impostata tramite l’oggetto SQLiteConfig

Connessione conn = DriverManager.getConnection (“jdbc: sqlite: sample.db”, config.toProperties ());

Utilizzare database crittografati

Sqlite-jdbc non supporta nativamente la crittografia del DB, ma è necessario un file speciale .dll/.so

Per utilizzare un database crittografato è necessario un driver che supporti il DB crittografato tramite la chiave pragma o la chiave esadecimale pragma, ad es. SQLite SSE o SQLCipher,  è anche necessario specificare ii driver tramite referenziamento diretto con il .dll/.so tramite:

-Dorg.sqlite.lib.path =.

-Dorg.sqlite.lib.name = sqlite_cryption_support.dll

Quindi si può specificare la password tramite:

Connessione connessione = DriverManager.getConnection ("jdbc: sqlite: db.sqlite", "", "password");

Binary Passphrase

Se si volesse fornire la password in formato binario, è necessario specificarne sia il modo che il driver .dll / .so. Sono disponibili due diverse modalità:
SSE:
La password binaria viene fornita tramite pragma hexkey = ‘AE …’
SQLCipher:
La password binaria viene fornita tramite pragma key = “x’AE … ‘”

Quindi la modalità al livello di connessione sarà:

Connessione connessione = DriverManager.getConnection ("jdbc: sqlite: db.sqlite? Hexkey_mode = sse", "", "AE ...");

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *