Sqlite3 Webserver mit Python Scirpt verbinden

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Tom12
User
Beiträge: 48
Registriert: Mittwoch 17. Januar 2018, 17:38

Hallo,

wie bereits im Betreff beschrieben habe ich auf einem Raspberry Pi 3 einen Webserver mit PHPliteAdmin laufen also eine SQLite3 Datenbank.
Nun möchte ich diese Datenbank mit einem PythonScript verbinden sodass ich mir Daten holen kann.
Normalerweise nutzt man ja
conn = sqlite3.connect(Datenbank.db)
doch wie muss ich nun vorgehen um auf einen Webserver zu connecten

PS: Webserver läuft nur im Netzwerk

MfG
Tom
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@Tom12: sqlite3 ist eine Dateibasierte Datenbank und nicht dazu gedacht, über ein Netzwerk zuzugreifen. Benutze PostgreSQL oder MariaBD, wenn Du vorhast, größere Dinge zu machen.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Oder lass dein Skript auf dem Webserver laufen.
Astorek
User
Beiträge: 72
Registriert: Samstag 24. Januar 2009, 15:06
Kontaktdaten:

Nur um eventuelle Missverständnisse vorzubeugen: SQLite ist nicht nur "nicht dazu gedacht", es bietet - im Gegensatz zu z.B. MariaDB und PostgreSQL - nichtmal irgendwelche Schnittstellen an, um übers Netzwerk auf die Datenbank zuzugreifen. Wenn du das dennoch mit SQLite vorhast, kommst du nicht drumrum, eine Lösung "hintenrum" zu nutzen, z.B. Netzwerkfreigaben.

Ein weiteres Problem bei einer "hintenrum"-Lösung bleibt dennoch, dass das DBMS nicht drauf ausgelegt ist. Wenn es z.B. plötzlich zu Verbindungsproblemen während eines INSERTs kommt, hast du schlimmstenfalls eine korrupte Datendank, die du wegschmeißen kannst.

Siehe auch auf der SQLite-Website: "Appropriate Uses For SQLite", insbesondere der letzte Abschnitt "Checklist For Choosing The Right Database Engine". Die SQLite-Maintainer selbst raten davon ab, SQLite übers Netzwerk zu nutzen.
Tom12
User
Beiträge: 48
Registriert: Mittwoch 17. Januar 2018, 17:38

Hat ein Mysql webserver eine schnittstelle
Dann würde ich es mal mit phpmyadmin versuchen
Ich mag halt schöne oberflächen
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Hat es. Aber irgendwie klingen deine Kriterien seltsam. Was willst du denn schlussendlich programmieren?
Tom12
User
Beiträge: 48
Registriert: Mittwoch 17. Januar 2018, 17:38

@__deets__ ich möchte ein Vokabelabfragenprogramm entwickeln welches sich deutsche Wörter aus der Datenbank holt.
Man das Englische Wort eingibt und es in der Datenbank checkt ob die Eingabe korrekt ist.
Ich weiß das es viel einfacher geht aber ich möchte eben auch lernen mit Datenbanken etc zu arbeiten.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na wenn es dir um eine GUI für die DB geht, kannst du auch zb das hier benutzen: http://sqlitebrowser.org/

Ansonsten ist das zum lernen ja eh egal. Dann nimm ruhig eine „Große“ Datenbank. Ich würde aber immer Postgres MySQL vorziehen.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

warum baust du dir nicht ein schönes Webfront-End für deine Vokeltrainer? Dann ist es (quasi) egal, welche DB du benutzt. Wenn du Django als Webframework benutzt bekommst du direkt eine schöne Verwaltungsoberfläche für deine Datensätze dazu.

Gruß, noisefloor
Antworten