Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: sanric - Aprile 01, 2024, 09:51:12 am

Titolo: SQLite3, Linux e Samba share
Inserito da: sanric - Aprile 01, 2024, 09:51:12 am
Salve a tutti,
sto scrivendo un piccolo applicativo per la mia attività ed ho bisogno di accedere ad un modesto database SQLite3 su di una share di tipo Samba.
Sotto Windows la cosa è molto facile, del tipo:
Codice: [Seleziona]
SQLite3Connection.DatabaseName:='\\Archivio\SQL\mioDatabase.db';

Tuttavia trovo difficoltà a fare la stessa cosa se devo costruire l'applicativo sotto Linux Mint, dal momento che alcuni collaboratori usano quel sistema operativo.
Come faccio ad indirizzare correttamente il database?
Ho provato con
Codice: [Seleziona]
SQLite3Connection.DatabaseName:='smb://Archivio/SQL/mioDatabase.db';

ma non funziona.
Devo necessariamente creare un mount-point per la condivisione SMB?
Titolo: Re:SQLite3, Linux e Samba share
Inserito da: DragoRosso - Aprile 01, 2024, 10:58:36 am
Anticamente usavo anche io lo stesso formato, però forse ora necessitano le autorizzazioni ?
Vedi questo articolo: https://wiki.ubuntu-it.org/Server/Samba (https://wiki.ubuntu-it.org/Server/Samba)
Titolo: Re:SQLite3, Linux e Samba share
Inserito da: slapshot - Aprile 01, 2024, 11:19:47 am

Codice: [Seleziona]
SQLite3Connection.DatabaseName:='smb://Archivio/SQL/mioDatabase.db';

ma non funziona.
Devo necessariamente creare un mount-point per la condivisione SMB?

Ciao ! Intanto proverei a capire il codice di errore che ti viene restituito. "Non funziona" è un pò troppo generico. Prova dalla shell ad entrare nella condivisione samba oppure, in base al DE che stai usando, da Dolphin (KDE), Thunar (Xfce4) ecc..

Aggiornaci !


Titolo: Re:SQLite3, Linux e Samba share
Inserito da: nomorelogic - Aprile 01, 2024, 02:34:51 pm
Ciao

Non vorrei rompere le uova nel paniere ma non credo che sia l'approccio corretto almeno per 2 motivi

Il primo è che SqLite va bene per le applicazioni monoutente ma non credo si adatto ad accesso in multiutenza.

Il secondo motivo è che esporre il file del database in una cartella condivisa è una pratica non corretta in quanto si espone il db a parecchi rischi ed inoltre samba (win o Linux non fa differenza) non è stato concepito per questo uso ma per trasferire file.

Credo che dovresti considerare l'uso di un db da installare come server da qualche parte. Forse MySql può essere una scelta interessante in quanto lo puoi facilmente installare con wamp/lamp e simili

Ad ogni modo, buon lavoro
Titolo: Re:SQLite3, Linux e Samba share
Inserito da: sanric - Aprile 01, 2024, 03:44:18 pm
Citazione

Ciao ! Intanto proverei a capire il codice di errore che ti viene restituito. "Non funziona" è un pò troppo generico. Prova dalla shell ad entrare nella condivisione samba oppure, in base al DE che stai usando, da Dolphin (KDE), Thunar (Xfce4) ecc..

Aggiornaci !

Comprendo che "non funziona" sia un tantinello generico!  ;D
Semplicemente, "non trova il file": in altre parole, sto usando una scrittura corretta?
Per il resto la share SMB ha tutte le difese abbassate: non si tratta di un database di enorme importanza e si può accedervi liberamente all'interno della LAN.
Titolo: Re:SQLite3, Linux e Samba share
Inserito da: slapshot - Aprile 01, 2024, 06:15:24 pm
Al netto di ciò che correttamente afferma @nomorelogic direi di provare da shell:

1. smbclient -L per avere una lista delle share smb e quindi capire se c'è un problema
2. modificare la stringa di connessione in: //Archivio/SQL/mioDatabase.db senza riferimento al protocollo ma credo dovrai aggiungere almeno l'ip del server.

Titolo: Re:SQLite3, Linux e Samba share
Inserito da: xinyiman - Aprile 02, 2024, 08:41:56 am
Io fossi in te prima di dedicare altro tempo al problema da te menzioanto dedicherei del tempo alle segnalazioni fatte da @nomorelogic.

Quello che cerchi di fare è proprio sbagliato concettualmente. Se sei alle battute iniziali fossi in te prenderei in considerazione l'idea di migrare immediatamente a FirebirdSQL o a PostgresSQL. Tanto se non lo fai adesso lo fai tra pochi mesi.
Titolo: Re:SQLite3, Linux e Samba share
Inserito da: Stilgar - Aprile 02, 2024, 08:45:45 am
azz, da sqlite a postgress ...
Cioè dalla fionda all'atomica in una manciata di caratteri ... xiny ... solo tu poi arrivare a tanto  ;D ;D ;D ;D
Titolo: Re:SQLite3, Linux e Samba share
Inserito da: xinyiman - Aprile 02, 2024, 09:22:38 am
azz, da sqlite a postgress ...
Cioè dalla fionda all'atomica in una manciata di caratteri ... xiny ... solo tu poi arrivare a tanto  ;D ;D ;D ;D

Bhe sai, io sono famoso per il mio modo di fare graduale  ;D ;D
Titolo: Re:SQLite3, Linux e Samba share
Inserito da: sanric - Aprile 04, 2024, 08:08:58 am
Io fossi in te prima di dedicare altro tempo al problema da te menzioanto dedicherei del tempo alle segnalazioni fatte da @nomorelogic.

Quello che cerchi di fare è proprio sbagliato concettualmente. Se sei alle battute iniziali fossi in te prenderei in considerazione l'idea di migrare immediatamente a FirebirdSQL o a PostgresSQL. Tanto se non lo fai adesso lo fai tra pochi mesi.

Le segnalazioni fatte da @nomorelogic sono giustissime se non fosse per il fatto che il database viene usato da una sola persona (tra quelle dell'ufficio) al giorno, di solito a fine orario lavorativo.
Il problema della multiutenza quindi non sussiste: il problema è (e resta) come indirizzare correttamente un file su Linux se esso è contenuto dentro una share SMB.  ;D
Titolo: Re:SQLite3, Linux e Samba share
Inserito da: xinyiman - Aprile 04, 2024, 08:42:26 am
Ricapitolando, tu la share samba sulla macchina linux l'hai montata. Hai provato ad accedere alla cartella dove risiede tramite shell? Se si, hai provato ad usare il path che hai digitato nella shell per accederci? Se si e non ha funzionato, hai provato a creare un link sul tuo desktop che punta al file sulla share e mettere nel programma lazarus il riferimento al path del link al file?
Titolo: Re:SQLite3, Linux e Samba share
Inserito da: slapshot - Aprile 04, 2024, 09:53:22 am
Io fossi in te prima di dedicare altro tempo al problema da te menzioanto dedicherei del tempo alle segnalazioni fatte da @nomorelogic.

Quello che cerchi di fare è proprio sbagliato concettualmente. Se sei alle battute iniziali fossi in te prenderei in considerazione l'idea di migrare immediatamente a FirebirdSQL o a PostgresSQL. Tanto se non lo fai adesso lo fai tra pochi mesi.

Le segnalazioni fatte da @nomorelogic sono giustissime se non fosse per il fatto che il database viene usato da una sola persona (tra quelle dell'ufficio) al giorno, di solito a fine orario lavorativo.
Il problema della multiutenza quindi non sussiste: il problema è (e resta) come indirizzare correttamente un file su Linux se esso è contenuto dentro una share SMB.  ;D

Cosa ti vincola nel creare un mount point sul pc dove gira il software ? Hai già provato il mounting ed hai errori ? A questo punto credo sarebbe la cosa più semplice visto che c'è un solo utente (e presumibilmente lavora sempre dallo stesso pc).



Titolo: Re:SQLite3, Linux e Samba share
Inserito da: nomorelogic - Aprile 04, 2024, 12:26:23 pm
Cosa ti vincola nel creare un mount point sul pc dove gira il software ? [...]

in effetti se le cose stanno così basta montare la condivisione
definisci il punto di mount in /etc/fstab e te le trovi già montato e pronto all'uso all'avvio