* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Novembre 22, 2024, 05:44:07 am

Inserisci il nome utente, la password e la durata della sessione.

76 Visitatori, 0 Utenti

Autore Topic: Leggere dabase.DB sqlite3 da remote  (Letto 2281 volte)

Giuani

  • Newbie
  • *
  • Post: 47
  • Karma: +0/-0
Leggere dabase.DB sqlite3 da remote
« il: Marzo 12, 2021, 02:25:31 pm »
Salve a tutti,
ho realizzato un piccolo database sqlite3 gestione biblioteca libri, tutto ok.
Ora vorrei mettere il database in un sito web e leggerlo da remote.
Ho girovagato un po’ sul web, ma non ho trovato una soluzione.
Domanda:
qual è  il codice Lazarus per leggere un dabase.DB sqlite3 da remote ?
Grazie dell’attenzione

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #1 il: Marzo 12, 2021, 07:39:53 pm »
ciao
dovresti avere un dbserver remoto da qualche parte, in ascolto su una determinata porta
nella connessione invece di specificare un db locale dovresti specificare un db remoto

però non credo che sqlite3 sia una buona scelta per un db remoto
non lo conosco affatto, ma se non ricordo male è stato concepito per utilizzo locale e monoutente

forse dovresti usare mysql per questo tipo di lavori
Imagination is more important than knowledge (A.Einstein)

Giuani

  • Newbie
  • *
  • Post: 47
  • Karma: +0/-0
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #2 il: Marzo 12, 2021, 08:29:09 pm »
Grazie per  la risposta.
In verità ho solo caricato il database testi.DB sul sito, credendo che tale database potesse essere letto  da qualsiasi altra postazione in remote, ma da quel che leggo credo sia necessario altro sul sito remote dove è collocato il  DB testi.DB:
che cosa ?
dove lo posso trovare ?


Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2389
  • Karma: +10/-0
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #3 il: Marzo 12, 2021, 09:39:35 pm »
Allora.sqlite è una librerira per lavorare in locale senza tanti sbattimenti. E' montato in tanti dispositivi embedded/mobile per la sua semplicità di utilizzo e poca necessità di risorse. Se vuoi poter leggere il tuo database da remoto devi poter permettere al tuo programma di accedere al file system del web server. Fargli credere che sia in locale, ma leggerlo da fuori. Credo che il tuo provider non veda di buon occhio la soluzione.
Se hai un piano hosting minimamente decente dovresti avere i dati di accesso al tuo db personale. In ogni caso, se sono piani "base" non dovresti poter raggiungere il database da fuori. Dovresti passare a infrastrutture un attimo più costose.
Se il web server è una macchina aziendale o domestico, chiedi al sistemista nel primo caso, nel secondo puoi installare MariaDB o FirebirdSQL.Convertire le tue tabelle sqlite in strutture relazionali remote e dialogare attraverso le librerie di accesso (dll/so).
Spero di aver dato una mano.

Stilgar

PS.A seconda delle scelte e degli scenari possiamo continuare con i suggerimenti.

Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Giuani

  • Newbie
  • *
  • Post: 47
  • Karma: +0/-0
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #4 il: Marzo 12, 2021, 11:07:08 pm »
Si una grande mano.
Credevo a qualcosa di facile, ma ho capito che devo lavorarci sopra.
Ci provo.
Grazie di tutto.

SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #5 il: Marzo 13, 2021, 05:52:03 pm »
E' possibile usare sqlite in un sito web anche con hosting. Io lo faccio per il mio siterello.
Avendo a disposizione un sistema Windows+ASP.NET ho realizzato una dll in FP che può essere caricata dal codice C# della pagina.
A quel punto si passano alla dll i parametri che servono e puoi operare tranquillamente con FP+sqlite.
Nelle ultime versioni sqlite si è evoluto e dovrebbe essere multiutente.
Non hai le prestazioni dei DBMS più evoluti (che si pagano) ma per piccoli siti a basso traffico penso possa bastare.
Al momento funziona.
Certo può sempre succedere che in qualche modo ne blocchino l'utilizzo visto che non è previsto nel contratto di hosting.



Giuani

  • Newbie
  • *
  • Post: 47
  • Karma: +0/-0
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #6 il: Marzo 14, 2021, 09:11:57 am »
Bene, ora ci studio
Grazie SB

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #7 il: Marzo 14, 2021, 11:01:09 am »
@SB
"Nelle ultime versioni sqlite si è evoluto e dovrebbe essere multiutente."

No, ancora SQLite non è multiutente. Per renderlo multiutente la tua applicazione deve gestire l'accesso contemporaneo di più richieste, ma il motore di SQLite agirà sempre per singola "transaction".

Riferimento: https://www.sqlite.org/whentouse.html

Buon lavoro Giuani, hai una bellissima e appassionante sfida avanti a te.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #8 il: Marzo 14, 2021, 11:18:41 am »
"Multiutente" nel senso che ammette connessioni contemporanee da parte di più utenti agli stessi file.
Poi l'accesso effettivo avviene tramite appositi interlock che limitano l'operatività.
Ovviamente non è un DBMS al pari di altri DBMS ben più corposi (e ottimizzati) che però richiedono installazione sul server o pagamento di quota extra.
Non avrà le stesse prestazioni degli altri ma per esigenze ridotte (spendere il meno possibile e pochi utenti contemporanei) potrebbe andare bene.
Certo se uno è disposto a spendere qualche centinaio di euro all'anno si può pensare a soluzioni più prestanti.

SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #9 il: Marzo 14, 2021, 11:24:30 am »
Dal sito SQLite (https://www.sqlite.org/whentouse.html):
"Websites

SQLite works great as the database engine for most low to medium traffic websites (which is to say, most websites). The amount of web traffic that SQLite can handle depends on how heavily the website uses its database. Generally speaking, any site that gets fewer than 100K hits/day should work fine with SQLite. The 100K hits/day figure is a conservative estimate, not a hard upper bound. SQLite has been demonstrated to work with 10 times that amount of traffic.

The SQLite website (https://www.sqlite.org/) uses SQLite itself, of course, and as of this writing (2015) it handles about 400K to 500K HTTP requests per day, about 15-20% of which are dynamic pages touching the database. Dynamic content uses about 200 SQL statements per webpage. This setup runs on a single VM that shares a physical server with 23 others and yet still keeps the load average below 0.1 most of the time. "

La sua semplicità lo rende molto leggero e probabilmente il tempo di attesa per l'interlocking viene compensato dal ridotto tempo necessario per la connessione

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #10 il: Marzo 14, 2021, 01:52:41 pm »
@SB

Concordo su quanto scrivi, ma devo solo precisare un concetto che deve essere chiaro:

"SQLite only supports one writer at a time per database file. But in most cases, a write transaction only takes milliseconds and so multiple writers can simply take turns. SQLite will handle more write concurrency that many people suspect. Nevertheless, client/server database systems, because they have a long-running server process at hand to coordinate access, can usually handle far more write concurrency than SQLite ever will."

Su questo concetto SQLite non è multiutente. Inoltre il meccanismo di "interlock", che è implementato nativamente "sul" sistema operativo può portare brutte soprese ...

"SQLite will work over a network filesystem, but because of the latency associated with most network filesystems, performance will not be great. Also, file locking logic is buggy in many network filesystem implementations (on both Unix and Windows).".

Se è necessario garantire le prestazioni (intendo sopratutto quelle di integrità), occorre pensarci molto bene prima di usarlo in maniera nativa multiutente.
Io comunque dal 2007 ho abbandonato quasi al 100% MSDE e SQLExpress, MySQL e altri a favore di SQLite (  ;D ), che ritengo sia un ottimo database, facilmente integrabile anche in architetture client / server rendondolo perfettamente multiutente, multiconcorrente  e con prestazioni assolutamente dignitose.

Penso che siamo andati un pò OT rispetto all'argomento del thread ... mi scuso se ho trascinato la discussione ....
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

Giuani

  • Newbie
  • *
  • Post: 47
  • Karma: +0/-0
Re:Leggere dabase.DB sqlite3 da remote
« Risposta #11 il: Marzo 15, 2021, 09:36:43 am »
Che si sia andato oltre va bene.
A me interessa l’aspetto didattico e non tanti quello pratico, qui trovo indicazioni per studiare.
Grazie a tutti.

 

Recenti

How To

Utenti
  • Utenti in totale: 803
  • Latest: maXim.FI
Stats
  • Post in totale: 19169
  • Topic in totale: 2286
  • Online Today: 99
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 76
Total: 76

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.