AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite URI Definition

Ein Thema von nikosophi · begonnen am 29. Okt 2016 · letzter Beitrag vom 30. Okt 2016
Antwort Antwort
nikosophi

Registriert seit: 8. Mai 2013
Ort: Weilerswist
47 Beiträge
 
Delphi 11 Alexandria
 
#1

SQLite URI Definition

  Alt 29. Okt 2016, 16:35
Datenbank: SQLite • Version: 3.9.2 • Zugriff über: FireDAC
Hy,

Weiss jemand, wie die Syntax des Database Parameters lautet, wenn die db auf einem Server liegt?

Ich möchte mittels FireDAC FMX oder VCL auf eine SQLite Datenbank zugreifen.
Lokal auf
  cDB := System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetDocumentsPath, 'test.db'); gehts.

Wenn sich auf dem Server "myserver.de" im Verzeichnis "freigegebenerordner" die Datenbank test.db befindet,
bekomme ich bei

Delphi-Quellcode:
    
   cDB := 'file://myserver.de/freigegebenerordner/test.db&user=ich&pass=geheim'

    FDConnection1.loginprompt := FALSE;
    FDConnection1.drivername := 'SQLite';
    FDConnection1.Params.Database := cDB;
    FDConnection1.Params.Values['Database'] := cDB;
    FDConnection1.Connected := True;
die Exception "invalid uri authority: myserver.de"

Die Datenbank selbst hat kein Passwort und lässt sich lokal öffnen.
Eine INI Datei auf dem Server kann man mit der angepassten URI Angabe auch ansehen.

Bin mir nicht sicher, ob die "file://" angabe falsch ist, oder die Parameter nicht mit "&" übergeben werden dürfen.

Danke schon mal.
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: SQLite URI Definition

  Alt 29. Okt 2016, 18:25
Die Frage ist wie bist du (also die App) an "myserver.de" angebunden, sprich welches Protokoll.

Wenn das im lokalen Netz (kannst du z.B. über den Explorer über "Netzlaufwerk verbinden" testen), angebunden ist, sollte "File://" schon mal richtig sein.

Ist das ganze übers Internet angebunden, siehts wieder anders aus, je nach dem wie der Server (Internet-Server) konfiguriert ist. Eventuell wär hier statt "File://" eher "http://" eine
Möglichkeit, hier musst du dann ggf. auch noch einen Port angeben (z.B. "http://myserver.de:1234/ordner/test.db"


Wie das mit Firedac FMX oder einer VCL-Komponente aussieht kann ich dir leider nicht sagen, da ich das ganze über die Wrapper-Objecte aus der DP hier anbinde (bisher nur lokal).
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
nikosophi

Registriert seit: 8. Mai 2013
Ort: Weilerswist
47 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: SQLite URI Definition

  Alt 30. Okt 2016, 07:15
Moin Ghostwriter,

Danke für deine Hinweise.
Ziel ist schon eine Anbindung via Internet, also HTTP:// oder gar HTTPS://

Nach Stöbern in diversern Foren habe ich öfters die Aussage gefunden, dass SQLite keine Client-Server Architektur hat und damit auch keine Ports benötige.
Da niemand wiedersprochen hat, nehme ich das mal als gegeben hin.

Mir ist schon klar, dass es nicht die gängige Art einer "Internetdatenbank" ist mit SQLite zu arbeiten.
Locking, Verbindungsabbrüche etc wären mir egal.
In meinem Fall wäre es sogar denkbar einfach eine XML Datei zu schreiben und diese mittels FTP hochzuladen.

Ich hatte nur gehofft, dass es grundsätzlich möglich ist.
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: SQLite URI Definition

  Alt 30. Okt 2016, 08:20
Zitat von nikosophi:
Nach Stöbern in diversern Foren habe ich öfters die Aussage gefunden, dass SQLite keine Client-Server Architektur hat und damit auch keine Ports benötige.
Da niemand wiedersprochen hat, nehme ich das mal als gegeben hin.
Das ist richtig, steht sogar in der Doku "Think of SQLite not as a replacement for Oracle but as a replacement for fopen()";

Hab ein wenig in der Doku gestöbert. Grundsätzlich kann SQLite3 auch URI's ("File://..."). Das hat allerdings nix mit einem Zugriff via Internet zu tun (URL "http://...".
So wie das beschrieben ist, ist das ganze wohl eher dazu gedacht, die DB auf einem File-Server unter zu bringen.

Die einzige Möglichkeit, die mir spontan einfällt, wär, die Datenbank via Indy runter zu laden (z.B. beim Start des Programms), damit normal arbeiten und zum Schluss wieder hochladen.

Aber vielleicht hat ja einer der anderen noch eine Idee oder gar schon eine Möglichkeit
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: SQLite URI Definition

  Alt 30. Okt 2016, 08:29
Bevor Du mit XML oder so anfängst noch ein Hinweis.
SQLite unterstützt die "Verbindung" 2er oder mehrer SQLite Files. Zum Datentransport kann man also jeweils
- a) ein gesamtes File hoch und runterladen per FTP / HTTP / HTTPS oder
- b) ein neues File erzeugen, mit einer Teilmenge befüllen (natürlich bequem und sinnvoll mit SQL) und dann bei a) weitermachen.


Hier ist die Anbindung erklärt:
https://www.sqlite.org/lang_attach.html


Hier ist ein Abfrage Beispiel
http://stackoverflow.com/questions/8...ed-with-attach
Gruß, Jo
  Mit Zitat antworten Zitat
nikosophi

Registriert seit: 8. Mai 2013
Ort: Weilerswist
47 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: SQLite URI Definition

  Alt 30. Okt 2016, 08:59
Ok, prima.

Dann habe ich ja einiges auszutesten...

Hab ja heute auch eine Stunde mehr Zeit

Danke für die Infos!
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: SQLite URI Definition

  Alt 30. Okt 2016, 09:05
Hab ja heute auch eine Stunde mehr Zeit
Wenn Du alles richtig gemacht hast, ist die Mehrzeit bereits vorbei und Du hättest diese Stunde plus heute Nacht nutzen sollen, wofür auch immmer.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: SQLite URI Definition

  Alt 30. Okt 2016, 09:07
Weiss jemand, wie die Syntax des Database Parameters lautet, wenn die db auf einem Server liegt?
Das geht nicht, da SQLite keine TCP/IP Kommunikation hat... Du solltest einfach auf dem Webserver einen REST-Server auf setzen und dann z.b. per JSON mit dem Server sprechen.

Mavarik
  Mit Zitat antworten Zitat
nikosophi

Registriert seit: 8. Mai 2013
Ort: Weilerswist
47 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: SQLite URI Definition

  Alt 30. Okt 2016, 09:59
@jobo: hab ich: schlafenderweise zur mentalen Vorbereitung auf mein "mal eben eine DB vom WEB Server nutzen"

@Maverik: Danke für die klaren, wenn auch unerfreulichen, Worte. (hab das zwar in einem anderen Thread hier von dir gelesen, wollte es aber nicht glauben...)

Falls sich:
Zitat:
SQLite unterstützt die "Verbindung" 2er oder mehrer SQLite Files.
als "mal eben Lösung" entpuppt, gebe ich Bescheid.

Grüße an alle
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: SQLite URI Definition

  Alt 30. Okt 2016, 17:51
Falls sich:
Zitat:
SQLite unterstützt die "Verbindung" 2er oder mehrer SQLite Files.
als "mal eben Lösung" entpuppt, gebe ich Bescheid.

Grüße an alle
Das hat aber mit der Fragestellung nix zu tun... Das ist dir Klar, oder?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz