Zugriff auf SQLite Db über localhost bzw www

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
JosefKoller
Beiträge: 115
Registriert: Sa 17. Mär 2007, 10:53

Zugriff auf SQLite Db über localhost bzw www

Beitrag von JosefKoller »

Hallo,

ich probiere gerade auf eine SQLite Db, die auf einem Host plaziert ist zuzugreifen.

Zum Probieren hab ich meinen Localhost genommen.

Also eine SQLite DB nach C:\xamppßhtdocs kopiert und dann mittels Komponenten versucht, darauf zuzugreifen.

Erst mit den ZEOS Komponenten:
ZConnection1.Hostname:= 'localhost';
zConnection1.Database := 'kkbeleg.sdb'
ZConnection1.Protocol:= 'sqlite-3';
zConnection1.LibraryLocation:= 'sqlite3.dll';//also die Datei liegt im Verzeichnis, indem die Exe-Datei liegt

dann eine
ZQuery1.Connection := ZConnection1;
ZQuery1.SQL.Clear;
ZQuery1.SQL.Add('select * from beschicker');

ZConnection1.connected := true;
ZQuery1.Active:=True;


Es kommt die Fehlermeldung "No such table beschicker"

Ich hab es dann auch mit
SQLite3Connection1,
SQLTransaction1,
SQLQuery1

probiert.

Die entsprechendes Eigenschaften wurden ähnlich wie bei Zeos belegt. Auch hier wird die Datenbank bzw. die entprechende Tabelle nicht gefunden.

Kann man denn überhaupt auf eine SQLite Datei im "Netz" zugreifen??

Und wenn ja: Was mache ich dann falsch???

Danke.

Josef

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von Socke »

JosefKoller hat geschrieben:Kann man denn überhaupt auf eine SQLite Datei im "Netz" zugreifen??

Nein.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2639
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von m.fuchs »

Socke hat geschrieben:
JosefKoller hat geschrieben:Kann man denn überhaupt auf eine SQLite Datei im "Netz" zugreifen??

Nein.

Das ist aber sehr pauschal und meiner Meinung nach falsch. Über "Umwege" wie WebDAV geht das durchaus.

Der Weg vom OP ist allerdings in der Tat nicht erfolgversprechend.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von Christian »

Diese Umwege können aber bei gleichzeitigem Zugriff von mehreren Instanzen zur Zerstörung des Datenbankfiles führen wenn das Locking nicht richtig implementiert ist (bei NFS und Samba evntl noch andern Netzwerkprotokollen).
siehe https://www.sqlite.org/lockingv3.html "How to corrupt your Database Files"

Grundsätzlich find ich für jemanden der sich nicht wirklich die ganze Doku zu SQLite durchgelesen und vertanden hat die Aussage das SQLite im Netzerk nichts zu suchen hat richtig.
Es gibt genug echte Server die darauf auslegelgt sind und den teil dne SQLite aus dem SQL kann genauso umsetzen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

MmVisual
Beiträge: 1466
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von MmVisual »

SQLite ist eine Dateibasierte Datebank und daher nicht für Client-Serer geeignet.
"ZConnection1.Hostname" wird bei Zeos für SQLite nicht genutzt, dieser Parameter ist für Serverbasierte Datenbanken.
Klar gehen immer irgend welche Umwege, jedoch sollte man doch besser etwas dafür nutzen wozu es gedacht ist. Z.B. MySQL verwenden - bei Client/Server Anforderungen. Dazu braucht man nur bei der Eigenschaft "Protocol" MySQL aktivieren und schon arbeitet der MySQL Treiber intern in Zeos. Man kann somit ohne Umprogrammierung viele Datenbanksysteme nutzen, sofern man keine spezielle SQL Befehle ausführen mag.
Ich nutze auch Zeos und mein Programm kommt mit 5 verschiedenen Datenbanken klar, SQLite, MySQL/MariaDB, PostgreSQL und MsSQL.
EleLa - Elektronik Lagerverwaltung - www.elela.de

JosefKoller
Beiträge: 115
Registriert: Sa 17. Mär 2007, 10:53

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von JosefKoller »

Danke für die Antworten.

siehe https://www.sqlite.org/lockingv3.html "How to corrupt your Database Files"

Ich benutze SQLite DB's auch mittels Php. Es ist noch nie passiert, daß es z. B. bei Zugriffen zu einem deratigen Crash kommt.

Deswegen dachte ich auch, mittels geschildertem Weg, eine SQlite DB "im www" einbinden zu können.

Habe mittlerweile mysql als DB gewählt und es funktioniert damit zumindest mit localhost.

Danke

Josef

dummy
Beiträge: 10
Registriert: Sa 28. Mär 2015, 02:05

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von dummy »

SQLite ist filebasiert.

Wenn die Datei auf einem NFS-Share o.ae. liegt, ginge das theoretisch, allerdings ist dies riskant und kann zu vielen Problemen führen (Locking etc. wurde ja schon erwähnt).
Ausserdem "performt" es u.U. saumässig:

http://stackoverflow.com/questions/7885 ... work-share

HTH

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von Christian »

Ich benutze SQLite DB's auch mittels Php. Es ist noch nie passiert, daß es z. B. bei Zugriffen zu einem deratigen Crash kommt.

Und weil du die DB mit PHP nutzt liegt sie auf nem Network Share ? Die Logik versteh ich nicht.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2639
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von m.fuchs »

Christian hat geschrieben:Grundsätzlich find ich für jemanden der sich nicht wirklich die ganze Doku zu SQLite durchgelesen und vertanden hat die Aussage das SQLite im Netzerk nichts zu suchen hat richtig.
Es gibt genug echte Server die darauf auslegelgt sind und den teil dne SQLite aus dem SQL kann genauso umsetzen.

Das ist natürlich richtig und von daher ist mein Beitrag wohl auch etwas voreilig geschrieben.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Vbxler
Beiträge: 125
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von Vbxler »

Wenn man nur für MS-Win entwickelt, ist der Zugriff auf SQLite sowohl lokal als auch über einen Server möglich.

Es gibt dafür eine speziell entwickelte DLL:
http://www.sqlitening.com/support/index.php

Greift man lokal über die DLL zu, liegt die SQLite-Datenbank lokal auf der Platte,
beim Remote Zugriff erfolgt dies über einen, in dieser DLL enthalten, Server.
Die erforderlichen Datein werden nur auf den Server-Rechner kopiert und mit einem
Admin-Programm wird der Server als Dienst am Server-Rechner gestartet. Anschließend kann auf die
SQLite-Datenbankdatei zugegriffen werden.

In der Clientanwendung muss lediglich die Zugriffsart festlegen, um die Betriebsart zu ändern,
um den Client für lokalem Zugriff oder remote Zugriff zu verwenden.

Ich verwende diese DLL sowohl mit lokalem als auch remote Zugriff und es funktioniert ohne Probleme.

Ein Punkt, der nicht so schön ist, der Entwickler der DLL ist vor einigen jahren plötzlich verstorben,
es gibt daher aktuell keine Weiterentwicklung. Im Anhang die Hilfedatei für die DLL.
Falls interesse besteht, könnte ich bei Gelegenheit ein Musterprojekt für FPC erstellen.
Dateianhänge
SQLitening.chm
(312.07 KiB) 104-mal heruntergeladen
Vbxler
-------------------------

wbeppler
Beiträge: 131
Registriert: So 20. Jul 2014, 10:27
OS, Lazarus, FPC: kubuntu, raspbian, laz 1.2 / 0.9 microcontroller
CPU-Target: 8-64 bit
Wohnort: bodensee
Kontaktdaten:

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von wbeppler »

hi josef

ich vermute den fehler bei der db-angabe kkbeleg.sdb, lass mal das .sdb weg, ich glaube nicht dass es an nem dateisystem liegt, du hast ja geschrieben dass du die lokal hast

ansonsten kann ich nur sagen, client-server mag bei irgend welchen wunderzauberer funtionieren mit der light, ich habs nie hin gekriegt und seit dem ich was anderes nehme MySQL, MariaDB oder Sybase, solch probleme wie damals mit der SQLight hatte ich nie wieder.

gruss

w

coasting
Beiträge: 21
Registriert: Mi 30. Apr 2014, 14:32

Re: Zugriff auf SQLite Db über localhost bzw www

Beitrag von coasting »

Falls interesse besteht, könnte ich bei Gelegenheit ein Musterprojekt für FPC erstellen.


Hi Vbxler... Ist zwar schon wieder 'nen Monat her, aber ich hätte Interesse an einer Demo für FPC... ;) Wäre echt klasse! Vielen Dank.

coasting

Antworten