Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Sqlite e accesso simultaneo ai dati

    Ciao, vorrei info su un problema riscontrato che mi tormenta da giorni.
    Sto sviluppando un software in Delphi XE8 utilizzando come DB SQLite v.3.14.1 e non riesco ad accedere simultaneamente ai dati delle tabelle da due PC in rete o comunque lanciando due esecutivi dallo stesso PC dato che ricevo DB LOCKED.


    Dopo aver fatto delle prove, ho constatato che aprendo il mio DB tramite Firefox (tools->SQlite Manager), la modalità del DB è in Exclusive (questo mi viene indicato alla base dove è presente la versione di SQLite) e quindi presumo che già di base ho un problema non risolvibile lato Delphi.


    Dato che ho sviluppato solo software monoutente, non riesco a capire di preciso quale sia il problema e come eventualmente modificare la configurazione del DB da SQLite/Firefox o altro Magager per SQLite e in che modalità tra quelle che trovo nelle varie guide (begin - deferred - immediate - exclusive - transaction)


    Attendo una cortese risposta quanto prima
    MILLE GRAZIE!!!!
    Ultima modifica di gianni73na; 14-03-2017 a 21:22

  2. #2
    Qualcuno può aiutarmi??

  3. #3

  4. #4
    Ciao FERMAT e grazie per la risposta.
    Avevo già letto i due link, prima di scrivere qui ho cercato molto e la cosa mi è chiara, cioè che è possibile utilizzare SQLite per accessi simultanei, ovviamente a distanza di millisecondi (quindi simultanei nel mio caso da che si tratta di accessi da 2/3 pc che non sono sempre in modalità scrittura, ma spesso in lettura).

    Ti riassumo la mia richiesta:

    aprendo il mio DB tramite Firefox (tools->SQlite Manager), la modalità del DB è in Exclusive (questo mi viene indicato alla base dove è presente la versione di SQLite) e quindi presumo che già di base ho un problema non risolvibile lato Delphi. È giusto questo o posso gestire il tutto lato Delphi?

    vorrei sapere come eventualmente modificare la configurazione del DB da SQLite/Firefox o altro Manager per SQLite
    Grazie ancora

  5. #5
    si l'ho capita la tua richiesta.

    dai link che ho postato, quello che ho capito, è che è possibile accedere simultaneamente in lettura.
    ma non in scrittura, in quanto viene impostato un file lock.
    codice:
    Multiple processes can have the same database open at the same   time.  Multiple processes can be doing a SELECT   at the same time.  But only one process can be making changes to   the database at any moment in time, however.
    io non penso sia possibile cambiare questa modalità, ci sono database appositi per fare operazioni del genere.
    sqlite non nasce con questo scopo.
    e anche da quello che leggo qua, mi sembra sia così: http://stackoverflow.com/questions/1...qlite-database

  6. #6
    l'ultimo link risale a 8 anni fa
    e anche da quello che leggo qua, mi sembra sia così: http://stackoverflow.com/questions/1...qlite-database
    credo che faccia riferimento ad una versione vecchia di SQLite e non a SQLite3

    non voglio certo polemizzare, sono qui per cercare di capire..........ma sono certo al 95% , che se non in maniera puramente simultanea, assegnando un tempo di attesa per la scrittura (in millisecondi), in caso di DBase già in questa modalità (writing), il problema sia risolvibile. forse in modalità RESERVED?
    https://www.sqlite.org/lockingv3.html

    Ma ho dubbi per il fatto che, esternamente a Delphi, io veda il DB impostato su EXCLUSIVE
    SQLite-Firefox.jpg

  7. #7
    io non ho trovato nulla al riguardo di quello che vuoi fare.
    mi sono spulciato per personalet curiosità, parecchi articoli (anche più recenti), e dicono tutti la stessa cosa.
    e ti ripeto, sqlite non nasce come database server (tipo mysql per intenderci), quindi non puoi sperare di ottenere gli stessi risultati.

    detto ciò, magari qualcuno ne sa qualcosa in più.

  8. #8
    Grazie, sposto la mia attenzione su Mysql Server che ho già utilizzato per software monoutente....
    Mi farebbe piacere, nel frattempo, ricevere altri pareri o info in merito a SQLITE3...

  9. #9
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,255
    Da una veloce ricerca
    http://www.netd.it/guide/come-usare-...b-per-un-blog/
    Soprattutto la parte sul WAL

    Non ho mai lavorato con SQLITE, da da quanto leggo se devi fare accessi concorrenti non è la scelta migliore.

  10. #10
    Grazie per le conferme.....
    sempre in merito al DB da utilizzare per permettere l'accesso simultaneo ai Client, cosa ne pensate di Firebird?
    Non l'ho mai usato.... ma ho visto che ci sono molte discussioni online, specialmente con l'utilizzo combinato con Delphi.
    Permette l'accesso simultaneo lasciando la connessione attiva ai client?
    Utilizza un file fisico o bisogna preinstallare software su server e/o su Client?
    Ho bisogno di gestire l'INSERT con dei componenti? (StartTransaction, Commit, rollback)

    Insomma il software è un gestionale di magazzino dove 2/3 operatori devono avere la possibilità di accedere ai dati e ovviamente non possono alternarsi.
    Inizialmente avevo scelto SQLite perché so che è compatibile con soluzioni Mobile....

    Vi prego di farmi luce
    Attendo info da voi.
    Grazie della disponibilità
    Ultima modifica di gianni73na; 18-03-2017 a 12:02

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.