Ich wollte mich zum ersten mal an die Datenbank-Programmierung mit Python wagen.
Wie kann ich auf eine sqlite-Datenbank zugreifen, die online verfügbar sein soll (auf einem Webserver)? Die Datei müsste natürlich auch irgendwie geschützt werden, sodass ein Zugriff außerhalb des Python-Programms nicht möglich ist.
Ist das überhaupt sinnvoll, dieses Problem mittels sqlite zu lösen oder wäre MySQL für diese Anforderungen nicht geschickter?
Ich bedanke mich bereits jetzt mal für eure Antworten.
LG von niggoo
SQlite Datenbank auf Webserver?
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Soll das Programm öffentlich sein oder nur für dich?
Egal ob SQlite oder MySQL du wirst es nicht schaffen das es nur aus deinem Python Programm her einen Zugriff auf die Daten gibt.
Wenn der MySQL Server am Internet lauscht kann man direkt zu ihm Verbinden, aber jeder der sich dein Programm anschaut kann sich Benutzername und Passwort heraus suchen und alle SQL Befehle absetzen die diesem Nutzer erlaubt sind.
Bei SQLite direkt auf die Datenbank über HTTP zuzugreifen geht nicht so wie du es dir vorstellst. Man kannte ein PHP / Python Script auf den Server erstellen, welches die SQL Abfragen und Schreibvorgänge für dein Programm übernimmt. Aber auch da gilt dann: Jeder bekommt die Zugriffsmöglichkeiten die ihm dein Script auf dem Server gewährt.
Egal ob SQlite oder MySQL du wirst es nicht schaffen das es nur aus deinem Python Programm her einen Zugriff auf die Daten gibt.
Wenn der MySQL Server am Internet lauscht kann man direkt zu ihm Verbinden, aber jeder der sich dein Programm anschaut kann sich Benutzername und Passwort heraus suchen und alle SQL Befehle absetzen die diesem Nutzer erlaubt sind.
Bei SQLite direkt auf die Datenbank über HTTP zuzugreifen geht nicht so wie du es dir vorstellst. Man kannte ein PHP / Python Script auf den Server erstellen, welches die SQL Abfragen und Schreibvorgänge für dein Programm übernimmt. Aber auch da gilt dann: Jeder bekommt die Zugriffsmöglichkeiten die ihm dein Script auf dem Server gewährt.
Die Software soll nur durch mich und ein paar andere ausgewählte Leute erreichbar sein.Sr4l hat geschrieben:Soll das Programm öffentlich sein oder nur für dich?
Also macht das eigentlich keinen Sinn, Datenbanken mit Python zu kontaktieren, wenn man die Zugangsdaten nicht gut absichern kann?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja richtig. Der Punkt ist - mit anderen Sprachen ist es aber auch nicht anders.niggoo hat geschrieben:Also macht das eigentlich keinen Sinn, Datenbanken mit Python zu kontaktieren, wenn man die Zugangsdaten nicht gut absichern kann?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@niggoo: Nur deswegen hat man ja überhaupt Passwörter und Benutzerkonten erfunden ...
- microkernel
- User
- Beiträge: 271
- Registriert: Mittwoch 10. Juni 2009, 17:27
- Wohnort: Frankfurt
- Kontaktdaten:
Wenn ich mich recht erinnere sind MySQL Datenbanken für WEB Anwendungen besser geeignet da an MySQL Datenbanken mehrere Leute gleichzeitig arbeiten können. Außerdem kannst du MySQL Datenbanken leichter online kontaktieren.niggoo hat geschrieben:Ist das überhaupt sinnvoll, dieses Problem mittels sqlite zu lösen oder wäre MySQL für diese Anforderungen nicht geschickter?
Lg
microkernel
@microkernel: Auch SQLite kann mit gleichzeitigen Schreibzugriffen umgehen, wenn auch gezwungenermaßen nicht sonderlich effizient.
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
.
Trac nutzt z.B. auch per Default SQLite.
NACHTRAG:
Gruß, noisefloor
Wenn deine (Python-) Anwendung auf dem gleichen Server läuft kannst du natürlich SQLite nehmen. Wenn nicht, dann eher nichtIst das überhaupt sinnvoll, dieses Problem mittels sqlite zu lösen oder wäre MySQL für diese Anforderungen nicht geschickter?

Trac nutzt z.B. auch per Default SQLite.
NACHTRAG:
Wenn du _wirklich_ quasi-parallelen Zugriff auf die DB brauchst, dann hast du aber schon eine ganz schön massive Webanwendung mit ziemlich vielen Nutzern...Wenn ich mich recht erinnere sind MySQL Datenbanken für WEB Anwendungen besser geeignet da an MySQL Datenbanken mehrere Leute gleichzeitig arbeiten können.

Gruß, noisefloor