mysql zugriff ohne mysqldb-modul

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ralf
User
Beiträge: 4
Registriert: Donnerstag 29. Mai 2003, 09:28
Wohnort: Swansea

Halloechen,

ich dachte mal ein php-skript, gefunden zu haben, wodurch es moeglich wurde ohne das mysqldb-modul von Python auf die Datenbank zugreifen zu koennen, bloss finde ich das nicht mehr mit Google.

Kann mir da jemand aus der Patsche helfen?

An den Server darf ich leider nicht ran :cry:

Ralf
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

ralf hat geschrieben:Halloechen,

ich dachte mal ein php-skript, gefunden zu haben, wodurch es moeglich wurde ohne das mysqldb-modul von Python auf die Datenbank zugreifen zu koennen, bloss finde ich das nicht mehr mit Google.
Also entweder du greifst mit PHP und dem entsprechenden PHP-Modul auf die Datenbak zu oder nimmst eben Python und das ensprechende Modul. Macht eigentlich keinen Sinn, Daten von PHP an Python zu übergeben. Entweder löse ich eine Aufgabe in Python oder in PHP, aber beides zusammen ist m. E. nicht logisch und auf Dauer kaum pflegbar.
ralf hat geschrieben: Kann mir da jemand aus der Patsche helfen?

An den Server darf ich leider nicht ran :cry:
Ich denke, dabei hat sich einer etwas gedacht und es wird dir kaum etwas anderes übrig bleiben, als sich mit diesem Menschen einmal auseinander zu setzen.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hallo,

also da muss ich hans mal wiedersprechen. Python und PHP können doch sehr sinvoll miteinander kombiniert werden, besonders, wenn mein Rechner daheim mit einem Webserver Daten austauschen soll und ich auf diesen Webserver nciht über ssh oder ähnliches zugreifen kann.
Ich hab z.B. ein php-Script auf dem Webserver, daß mir meine, nach aussen sichtbare IP-Adresse liefert, welche ich mit einem Pythonscript z.B. in die Config von XChat eintrage und so nicht immer die ip für dcc-send von Hand eintragen muss.
Auf einer anderen Webseite habe ich ein Script für news mit php gemacht, und ein Python-Script auf meinem Rechner, welches es mir erlaubt, neue News, einfach über die Commandozeile auf die Webseite zu übertragen.
Zu Deinem Problem, ich würde mir erst mal überlegen, wie ich die Daten von mySQL, mit php formatiere um sie dann einfach mit einem Pythonscript weiterverarbeiten zu können. z.B. kannst Du jeden Datensatz in eine Zeile schreiben und als Trenner für die einzelnen Felder das Zeichen "§", oder ein anderes ungebräuchliches Zeichen, verwenden. dann Reicht es die Ausgabe vom php-Script in eine Liste von Strings zu laden und die Felder mit zeile.split("§") in die Felder aufzusplitten.

Gruß

Dookie
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Hi Dookie,

ich hatte ralf so verstanden, dass er "frei" auf die Daten des Servers zugreifen möchte, d. h. er die Abfrage nach belieben gestalten kann. Und das wird natürlich nur mit direktem Serverzugriff gehen, d. h. es müssen Zugriffsberechtigungen für die Datenbank vorhanden sein.

Was ich an deiner Antwort nicht so ganz verstehe ist, dass du die Daten mit PHP selektierst und ausgibst sowie mit Python weiterverabeiten möchtest. Ich möchte nicht bezweifeln, dass das geht bleibt aber die Frage, wie bekomme ich PHP dazu, das entsprechende Script zu starten. Solange ich auf ein vordefiniertes Script zugreife, OK aber ein freies Script. Da benötige ich einige Daten um direkt auf den MySql Server zugreifen zu können, oder ein Frontend, elches Abfragen entgegnnimmt und ausführt oder aber die Möglichkeit entsprechende Scripts auf dem MySql Server zu speichern. Für alle Varianten benötige ich Zugangadaten vom Admin oder dessen Mitarbeit. Ich würde in diesem Fall nachharken, ob man ReadOnly Access für die DB haben kann und dann direkt zugreifen wenn möglich. Je nach Art der Datenbank kann dabei aber zuviel Traffic entstehen.

Ich könnte die Frage ja auch einmal anders stellen: Würdest du ein Frontend zur Verfügung stellen welches eine Abfrage folgender Art entgegennimmt und ausführt?:

Code: Alles auswählen

Select * from KUNDE LEFT OUTER JOIN UMSATZ on (
  KUNDE.NR = UMSATZ.KDNR
) LEFT OUTER JOIN ARTIKEL on (
  UMSATZ.ARTNR = ARTIKEL.NR
)
WHERE UMSATZ.BUCHUNGSMONAT BETWEEN 200201 AND 200305
Ich hoffe, ich habe keine syntaktische Fehler eingebaut.

Geh bitte mal davon aus, das bei dem Beispiel kein Index aber 500 Kunden, 70000 Verkaufssätze p.a. und 3000 Artikel abgelegt sind. Ich glaub, solche Abfragen sind gängig Praxis, wenn ohne Hintergrundwissen gearbeitet wird.

Ich bleibe bei meiner Aussge: Wenn irgend möglich, dann die eine oder andere Scriptsprache verwende, nicht aber einen Mix beider Sprachen.

Hans
ralf
User
Beiträge: 4
Registriert: Donnerstag 29. Mai 2003, 09:28
Wohnort: Swansea

hans hat geschrieben:Hi Dookie,

ich hatte ralf so verstanden, dass er "frei" auf die Daten des Servers zugreifen möchte, d. h. er die Abfrage nach belieben gestalten kann. Und das wird natürlich nur mit direktem Serverzugriff gehen, d. h. es müssen Zugriffsberechtigungen für die Datenbank vorhanden sein.
Hallo Hans,

hast mich richtig verstanden. Die Zugriffsdaten hab ich, besitze sogar nen Account mit Schreibrechten und kann dort tun und lassen was ich will :D
Zur zeit laeuft meine Homepage aus PHP, bloss hab ich das Kapitel fuers erste abgeschlossen und will mit Python rumspielen (keine Produktions-Umgebung)
hans hat geschrieben:Geh bitte mal davon aus, das bei dem Beispiel kein Index aber 500 Kunden, 70000 Verkaufssätze p.a. und 3000 Artikel abgelegt sind. Ich glaub, solche Abfragen sind gängig Praxis, wenn ohne Hintergrundwissen gearbeitet wird.
Wie soll ich das alleine eintippen :wink:

Ralf
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

ralf hat geschrieben:Wie soll ich das alleine eintippen :wink:

Ralf
Nee, sowas wird meistens per Down- oder Upload erzeugt.

Verstehe ich dich jetzt richtig? Du möchtest lokal mit Python auf die Webdatenbank zugreifen?

Hans
Antworten