Zugriff auf SQLite Db über localhost bzw www
-
- Beiträge: 115
- Registriert: Sa 17. Mär 2007, 10:53
Zugriff auf SQLite Db über localhost bzw www
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
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
-
- Lazarusforum e. V.
- Beiträge: 3177
- 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
Nein.JosefKoller hat geschrieben:Kann man denn überhaupt auf eine SQLite Datei im "Netz" zugreifen??
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- 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
Das ist aber sehr pauschal und meiner Meinung nach falsch. Über "Umwege" wie WebDAV geht das durchaus.Socke hat geschrieben:Nein.JosefKoller hat geschrieben:Kann man denn überhaupt auf eine SQLite Datei im "Netz" zugreifen??
Der Weg vom OP ist allerdings in der Tat nicht erfolgversprechend.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- 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
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.
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/
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Zugriff auf SQLite Db über localhost bzw www
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.
"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
-
- Beiträge: 115
- Registriert: Sa 17. Mär 2007, 10:53
Re: Zugriff auf SQLite Db über localhost bzw www
Danke für die Antworten.
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
Ich benutze SQLite DB's auch mittels Php. Es ist noch nie passiert, daß es z. B. bei Zugriffen zu einem deratigen Crash kommt.siehe https://www.sqlite.org/lockingv3.html "How to corrupt your Database Files"
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
Re: Zugriff auf SQLite Db über localhost bzw www
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
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
-
- 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
Und weil du die DB mit PHP nutzt liegt sie auf nem Network Share ? Die Logik versteh ich nicht.Ich benutze SQLite DB's auch mittels Php. Es ist noch nie passiert, daß es z. B. bei Zugriffen zu einem deratigen Crash kommt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- 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
Das ist natürlich richtig und von daher ist mein Beitrag wohl auch etwas voreilig geschrieben.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.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 129
- 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
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.
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) 203-mal heruntergeladen
Vbxler
-------------------------
-------------------------
-
- 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
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
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
Re: Zugriff auf SQLite Db über localhost bzw www
Hi Vbxler... Ist zwar schon wieder 'nen Monat her, aber ich hätte Interesse an einer Demo für FPC...Falls interesse besteht, könnte ich bei Gelegenheit ein Musterprojekt für FPC erstellen.

coasting