![]() |
Datenbank: MySQL • Zugriff über: eigene Kompo
Komponente: MySQL via PHP-Tunnel
Es gab ja mal 'ne Zeit lang die WebAccess Komponente von Nozicle, mit welcher man via PHP auf eine MySQL Datenbank eines Providers (1&1, Strato) zugreifen kann, wenn der MySQL Server nicht direkt von Aussen angesprochen werden konnte.
Leider sind diese Kompo's vom Hersteller nicht mehr erhältlich. Also bastle ich mir selber eine (incl. Verschlüsselung). Sollte Interesse daran bestehen, werde ich das ganze mal ordentlich strukturieren und veröffentlichen... Um Feedback wird gebeten... [edit=Luckie]Titel auf Wunsch geändert. Mfg, Luckie[/edit] |
Re: MySQL-Zugriff via PHP
Ich hatte Interesse an einer solchen Komponente.
Wie machst sie den Zugriff. Erzeugen sie eine PHP-Datei oder anders. Ich programmiere auch in PHP. Mit freundlichen Grüssen Klaus Flötgen - Delphi Arch. :-D |
Re: MySQL-Zugriff via PHP
Der Zugriff erfolgt über ein augf dem Web-Server abgelegtes PHP Script, welches die von der Komponenten gesendeten SQL Anfragen an den Datenbankserver weitereleitet.
Sämtlicher Datenverkehr zwischen der Komponente und dem Web-Server ist verschlüsselt und kann zudem zusätzlich noch mit SSL gesichert werden. Das DB-Passwort wird entweder in der Komponente eingegeben, oder es wird eine eigene User-Tabelle in der Datenbank angelegt, um das eigentliche MySQL Passwort zu schützen. Die Anfragen, die die Komponente an den Web-Server schickt als auch die Antworten sind im MIME Format gehalten und können ggf. auch mittels einer Property gezippt werden, falls mal größere Datenmengen übertragen werden müssen. |
Re: MySQL-Zugriff via PHP
Hallo
Wie ich verstehe rufen sie das PHP-Script mit Get oder Post auf um die Daten zu übergeben. Mit freundlichen Grüßen Klaus Flötgen :lol: |
Re: MySQL-Zugriff via PHP
Ja, da es momentan die simpelste Methode ist...
|
Re: MySQL-Zugriff via PHP
Die Komponente scheint interessant zu sein.
Ich programmiere gerade an ein Tool das Projektdaten aus ECAD ELTIME ausliest und in einer MySQL-Datenbank zu verfügung stellt um sie danach in einer Webseite zu verfügung zu stellen. Meine Webseite steht bei intranet, aber es war auch interessant sie auf meinen Webseite bei 1&1 zu verfügung zu stellen Mit freundlichen Grüßen Klaus Flötgen |
Re: MySQL-Zugriff via PHP
Ich denke mal, dass diese Kompo für einige Leute interessant sein könnte, da die Preise für Hoster, die einem einen Zugriff auf MySQL von Außen ermöglichen doch relativ hoch sind.
Ich selbst entwickle Software für Internet- und Telecafés und alleine schon für die Lizenzierung ist ein direkter Zugriff unausweichlich, wenn ich nich tausende von Raubkopien auf dem Markt haben möchte... Aber auch zur User-Verwaltung u.ä. ist der Zugriff immens wichtig... |
Re: MySQL-Zugriff via PHP
sehr geil
genausowas habe ich schon länger gesucht wann und wo kann ich die ersten test mit der komponenten machen ??? lg, Gigant |
Re: MySQL-Zugriff via PHP
War leider zwischendurch im Krankenhaus, so dass die erste öffentliche Alpha-Alpha-Alpha Release von mir hier Anfang nächster Woche veröffentlicht wird.
|
Re: MySQL-Zugriff via PHP
ohha krankenhaus
klingt nicht gut naja aber es ist ja bald soweit lach das ist echt ein klasse weihnachtsgeschenk ich freu mich schon richtig drauf wie ein kleines kind lach sorry aber das musste einfach mal raus lg, Gigant |
Re: MySQL-Zugriff via PHP
Liste der Anhänge anzeigen (Anzahl: 1)
So, nun gibt's erst mal den ersten Teil...
Besteht aus drei Komponenten:
Das 'Key' Feld ist noch ohne Bedeutung, wird später hinzugefügt um eine Verschlüsselung der Daten zwischen Komponente und Script hinzukriegen. In der TMySQLStringGrid Kompo müssen noch etliche Properties umgeschrieben werde, aber eine simple Abfrage funzt schon mal. :-) Reihenfolge der Kompos wie üblich: TMySQLConnection -> TMySQLDatabase -> TMySQLStringGrid P.S.: Ich weiß, dass noch jede Menge exceptions abgefangen werden müssen... P.P.S: Ich weiß auch, daß das Parsen des Rückgabestring vom Script noch nicht Fehletolerant ist. WICHTIG: Euer PHP-Interpreter darf keine Warnungen ausgeben!!! (diese abzufangen wird später noch implementiert) |
Re: MySQL-Zugriff via PHP
:cry: erst schrein'se alle und nun kein einziges Kommentärle... :cry:
|
Re: MySQL-Zugriff via PHP
Hallo,
sieht auf den ersten Blick schon mal gut aus! :wink: Bin momentan noch in der Firma. Ich werd's nachher zu Hause mal testen! |
Re: MySQL-Zugriff via PHP
:hello: :hello: :hello: Ein Lichtblick!!!! :hello: :hello: :hello:
|
Re: MySQL-Zugriff via PHP
Hmm, schade, ich krieg' Dein Package nicht installiert. Ich bekomme folgende Fehlermeldung:
"Package 'IndyProtocols100 kann nicht geladen werden'. Es enthält die Unit 'IdZLibCompressorBase', die auch im Package 'MySQL' enthalten ist." Auch wenn ich Deine Units in ein eigenes neues Package packe, geht es nicht. |
Re: MySQL-Zugriff via PHP
Welche Fehlermeldung kriegst Du denn, wenn du es in ein eigenes Package steckst???
Ich musste noch folgendes Verzeichnis zum include Pfad hinzufügen: C:\Programme\Borland\BDS\4.0\source\ToolsAPI |
Re: MySQL-Zugriff via PHP
Also, ich habe es eben ausprobiert.
Verbindungsaufbau funktioniert einwandfrei. Bis jetzt keine Probleme! Allerdings gibt es Probleme mit dem ausführen von Querys des MySQLStringGrid. Ich habe ein Datenbank "CPS2_DB" gewählt, und gebe bei der Eigenschaft "SQL Query" folgendes ein:
SQL-Code:
Wenn ich nun die Eigenschaft auf TRUE setze, bekomme ich folgende Fehlermeldung:
SELECT * FROM CPS2_DB;
" '3 : localhost : test : test : cps2_db : SELECT * FROM CPS2_DB;C-Status: 0' ist kein gültiger Integerwert". Desweiteren solltest Du auch das Angeben von keinem Kennwort unterstützen lassen. Ich benutze zum lokalen Testen nämlich einen MySQL-Account ohne Passwort. Hoffe das hilft Dir... Ansonsten schon mal meinen Respekt für die bisherige Arbeit! |
Re: MySQL-Zugriff via PHP
Werde es mir mal genauer anschauen.
Jedoch erfolgt die Auswahl der Datenbank normalerweise über die Zwischenkomponente TMySQLDatabase. Die Anmerkung bezüglich des Passwortes wird in der nächsten Release miteingearbeitet. |
Re: MySQL-Zugriff via PHP
Liste der Anhänge anzeigen (Anzahl: 1)
So, Sebastian.
Hab jetzt mal im MySQLStringGrid die Fehler abgefangen. Bei einer MySQL Fehlermeldung erscheint nun eine Hinweisfensterchen. Die Angaben kannst du aber auch über die Properties FehlerNummer und FehlerText der Komponente auslesen. Das Auslösen einer entsprechende Exception ist für die nächste Release vorgesehen. Des weiteren kannst Du nun das ganze auch ohne passwort gebrauchen. Die entsprechende abfrage habe ich entfernt. Gruß Andy |
Re: MySQL-Zugriff via PHP
Hallo,
habe eben nochmal die aktualisierten Komponenten ausprobiert. (Kleiner Tip: Hänge aktualisierte Versionen an Deinen ersten Post an. Das schafft Übersichtlichkeit!) Und was soll ich sagen? Es funktioniert! Super Arbeit. :-D Habe es allerdings bis jetzt nur mit einem normalen
SQL-Code:
ausprobiert. Aber immerhin. Es klappt. Spitze! Weiter so! :thumb:
SLECT * FROM BlaBla;
Morgen probiere ich das dann mal remote auf meinem Webserver. :coder2: Gute Nacht! :cat: |
Re: MySQL-Zugriff via PHP
Ob es vielleicht noch sinnvoll wäre, die SQL-Abfrage in eine eigene Komponente zu packen, auf welche dann die ganzen anderen StringGrid, Edit u.ä. zugreifen können???
|
Re: MySQL-Zugriff via PHP
Wollte ich machen... Kann den aber nicht mehr editieren... :cry: :cry: :cry: :cry:
|
Re: MySQL-Zugriff via PHP
Zitat:
|
Re: MySQL-Zugriff via PHP
Gut...
Wäre nett, wenn Du Dir schon mal mit Gedanken darüber machen könntenst, welche visuellen Komponenten noch benötigt werden würden... |
Re: MySQL-Zugriff via PHP
Zitat:
So dass man die Standard Delphi DB-Komponenten verwenden kann. |
Re: Komponente: MySQL via PHP-Tunnel
Vom Prinzip her gebe ich Dir da recht...
Nur muss ich mich dann erst mal einlesen, wie ich den Datenschrott dann aufarbeiten muss, damit die anderen Komponenten problemlos darauf zugreifen können... Müsste ja dann die komplette DB-Komponenten Schnittstelle implementieren... Erst mal suchen, wo ich deren Definition finde... |
Re: Komponente: MySQL via PHP-Tunnel
Ganz einfach, du must die Kombos nur von TDataset ableiten
|
Re: Komponente: MySQL via PHP-Tunnel
Muss mir nun erst mal 'ne vernünftige Doku zu TDataSet suchen, damit ich auch weiss, wie ich dem Ding die vom Tunnel gelieferten Daten aufarbeiten muss, damit die anderen Kompos drauf zugreifen können...
|
Re: Komponente: MySQL via PHP-Tunnel
Also gut...
Nach längerem rumgoogeln hab' ich mich entschieden, franktrons Wink in diese Richtung zu folgen und eine TMySQLDataSet Komponente zusammenzuschrauben, auch wenn die hierzu erhältlichen Dokus spääääärlich gesäht sind... Was man jedoch auf keinen Fall vergessen sollte ist, dass die Ansicht der Ergebnisse mit den Standard DB Komponenten zwar möglich ist, bei einem Edit jedoch (oder gar Append), sich jeder selbst über ein enstprechendes UPDATE oder INSERT Gedanken machen muss. |
Re: Komponente: MySQL via PHP-Tunnel
Zitat:
Die Frage hat sich schon erledigt, aber ich habe direkt ein neue :-) Ich habe Indy70 aus dem Packet entfernt, Delphi hat automatisch IndyCore60.dcp, IndyProtocols60.dcp und IndySystems60.dcp hinzugefügt. Danach hatte ich noch das Problem, dass Dephi 6 die Funktion posex nicht kennt. Ich habe Sie mir aber einfach nachgebaut. Danach ließ sich das Package compilieren und installieren. Wenn ich nun aber eine der drei Komponenten auf meinem Form platziere und verschuche zu compilieren, bekomme ich die Meldung: Zitat:
Besten Dank Ares |
Re: Komponente: MySQL via PHP-Tunnel
Hi,
versuche mal C:\Programme\Borland\BDS\4.0\source\ToolsAPI in den include Pfad mit aufzunehmen. Ansonsten schwirren hier im Forum schon Lösungen zum Thema proxies.dcu rum. Habe das Paket mit Indy 9 gebaut. |
Re: Komponente: MySQL via PHP-Tunnel
Zitat:
Hallo! Ich habe das Ganze nun auch auf dem Sytem eines Freundes getestet, er verwendet Delphi 7 mit Indy 9. Das Package lässt sich ohne Modifikationen compilieren. Der Versuch ein Projekt mit den drei Komponenten zu compilieren lieferte zunächst das Ergebnis: Zitat:
Zitat:
Mich wundert allerdings, dass hier scheinbar sonst niemand diese Probleme mit den Komponenten hat. Scheinbar funktioniert das Package bei allen anderen Fehler frei, darum kann es daran ja eigentlich nicht liegen. Hat noch jemand eine Idee, was ich sonst noch falsch machen könnte? Achja, auf dem ganzen System findet sich auch keine Datei 'Proxies.dcu'. So gesehen ist es ja kein Wunder, dass Delphi sie nicht findet. Aber irgendwo müsste sie ja eingentlich sein, wenn sie in in DesignEditors referenziert wird... Besten Dank Ares |
Re: Komponente: MySQL via PHP-Tunnel
|
Re: Komponente: MySQL via PHP-Tunnel
Zitat:
Eure Diskusion über diese Komponente sieht ja wirklich interessant aus. :thumb: was mir ( als Anfänger ) nicht ganz klar ist, Du ( neuronet ) schreibst dass Du die Komponenten mit Indy 9 gebaut hast aber im Code sthet bei mir was von requires ... Indy70, und das ganze lässt sich bei Delphi 2006 ( von mir ) nicht Kompilieren.. :| Habe auch schon auf Indy9 umgestellt ( standart ist ja 10 ) aber kein Erfolg... was läuft da falsch? Manfred |
Re: Komponente: MySQL via PHP-Tunnel
Zitat:
Zitat:
|
Re: Komponente: MySQL via PHP-Tunnel
So, die Komponente ist zwar in der Theorie fertig, wird aber gerade noch getestet, da es einige Speicherfehler gab, die mir dann Windoof ins Nirvana geschickt haben. Diese Probleme entstanden insbesondere bei den BLOB-Feldern.
Dauert also leider noch ein paar Tage, bis ich was neues veröffentliche.. :-( |
Re: Komponente: MySQL via PHP-Tunnel
Hallo,
ist dieses "Projekt" tot, oder kommt da noch was? |
Re: Komponente: MySQL via PHP-Tunnel
Mich würde auch interessieren wie es um da Projekt steht, ich muss nämlich ein Tool schreiben um die Daten eines Projektverwaltungstools in ein anderes zu importieren.
Jedoch verfügen diese keine Export/Import funktionen. D.h. ich muss direkt auf die Datenbank zugreifen (Egroupware). Das andere lässt mich nchnicht mal auf die Datenbank, dort muss ich erstmal sehen ... (Blueant) |
Re: Komponente: MySQL via PHP-Tunnel
Mea culpa millionen Mal, aber ich bin momentan gesundheitlich doch ziemlich angeschlagen, so dass ich die meiste Zeit in Krankenhäusern dieser Republik verbringe... Und was den dortigen online-Zugang angeht sieht es nun mal nicht so rosig aus...
Das Projekt lebt aber noch... Müsst mir leider noch etwas Zeit geben... Danke... |
Re: Komponente: MySQL via PHP-Tunnel
Liste der Anhänge anzeigen (Anzahl: 1)
Versuchs mal damit ... habe ich zwar schon etwas überarbeitet, doch es sollte funtionieren.
Ich denke man sollte das wirklich weiter entwickeln ... hat jemand lust dazu mitzumachen ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz