Flash 8 & MySQL

Mik3e

Erfahrenes Mitglied
Hi zusammen,

Ich weiß, mit Flash auf MySQL Datenbanken ohne Umweg über XML oder Posten der Variablen an ein Skript war bisher nicht möglich...

Nun hab ich gesehen, dass es Studio 8 mit Flash Professional 8 gibt. Hat jemand von euch schon Erfahrung damit Und gibt es vielleicht sowas wie einen MyODBC Treiber der von den neuen Flash Versionen unterstützt wird (also direkten Zugriff auf die Datenbank ermöglicht?)..

Denn der Weg über XML oder Posten ist nicht wirklich elegant und bringt neue Fehlerquellen mit sich...

Danke & Ciao,
Mike
 
Hi,

Flash 8 ist wenn dann so brandneu, dass es hier kaum noch jemand haben wird (ich zumindest nicht). Allerdings bezweifel ich, dass Du Dich auch damit direkt mit dem SQL-Server verbinden kannst, einfach aus dem Grund, da Flash auf den Client ausgeführt wird und die dB auf dem Server (wobei es Macromedia Dir wohl etwas leichter macht, wenn Du die Datenkomponenten mit dem Communication-Server einsetzt, aber davon weiß ich nicht viel, da mir das Ding zu teuer ist ;) ). Du wirst im Allgemeinen nicht drum herum kommen, eine Anfrage an den Server zu schicken und auf Antwort zu warten. Was mit den Daten dort passiert - ob ein PHP-Script für Dich werkelt, ein Scriptlet oder was auch immer - kann dem Client erstmal egal sein.

Gruß

P.S.: Korrigiert mich, wenn ich irre.
.
 
Naja, technisch ist ein SWF ja ähnliche einem Java-Applet... Lokal auf dem Rechner läuft in einer "Sandbox" der Flash-Player (Pendat zur JVM)....

Und Java Applets unterstützen alle Datenbanken via ODBC Treiber, die beim Aufruf des Applets einfach vom Webserver mitgesaugt werden..

Daher eigentlich meine Überlegung :)
 
... bist Du da sicher, dass dazu kein Servlet oder so nötig ist? Du müsstest ja quasi SQL-Connects und Abfragen direkt an den SQL-Server schicken und im Gegenzug zumindest die Result-ID bekommen (wobei Du für alles was Du ausgeben willst, einen neuen Request an den Server schicken musst). Ich geb zu von diesen Dingen nicht allzuviel zu verstehen, aber wäre das nicht ein ziemliches Sicherheitsrisiko, wenn sich ein Client direkt mit der dB verbinden könnte?

Gruß
.
 
Ja, ich bin mir sicher.. Dafür gibt es die "zertifizierten" Applets... Wie der ODBC Treiber im Hintergrund arbeitet weiß ich nicht genau...
 
... was mit Flash dann aber wohl auch ein entsprechendes "BackEnd" voraussetzen würde. Macromedia bietet z.B. den Commmunication-Server an, aber lohnen dürfte sich das wegen den Preisen und dem Installationsaufwand für Dich nur bei Projekten ab einer gewissen Größe. Ich habe bisher nie Probleme damit gehabt, meine Abfragen von einem PHP-Script erledigen zu lassen und mir zurückzugeben was ich haben will.

Ansonsten: Bei Macromedia gibt es bestimmt eine Referenz der neu hinzugekommenen Funktionen. ;)

Gruß
.
 
Ich nehme ehrlich gesagt an, dass Flash auch in der kommenden Version (gibt's ja noch nicht - alles was bisher bekannt ist, finden die Tüftler über das Ausschlachten des public-beta-8-Plugins raus) rein clientseitig abläuft und für serverseitige Aktivitäten auch weiterhin serverseitiger Scripte bedarf. Alles andere würde der Flashphilosophie widersprechen.

Letztlich klären wird sich das aber <gerücht>Ende September</gerücht>.
Auf grundlegende Änderungen diesbezüglich würde ich aber nicht wetten - im Gegenteil. ;)
 
Wie gesagt, JAVA ist ja theretisch auch eine rein Client-Seitige Anwendung mit der JVM.. Wie löst Ihr dieses Problem eigentlich bei großen Datenmengen (Ich meine damit >= 10.000 Datensätze)?

Schreibt Ihr da aus Flash heraus ein XML File am Server (geht das wenigstens) und ruft Ihr dann eine Parser-URL auf, die die XML Daten auslesen und in die DB packen!?

Welche Technik ist denn hier die beste

LG
Mike

EDIT: Wo sind meine Fragezeichen hinverschwunden?
 
Hi,

dass 10.000 Datensätze auf einmal angezeigt werden, wird relativ selten vorkommen. In diesem Fällen hat man meist eine Blätterfunktion und lässt sich die Daten seitenweise übergeben. Bei einem Forum rufe ich beispielsweise die "showthread.php" auf und übergebe ihr ein paar Parameter über das was ich zurückbekommen will, z.B.:
Code:
?t=152504&page=17
das PHP-Script packt nun das Ergebnis der dB-Abfrage in einen XML-Baum und schickt diesen zurück.

Beim Schreiben verhält es sich meist ähnlich: Ich erstelle auf Clientseite einen XML-Baum mit den Daten, und schicke ihn serialisiert an mein Script, dass damit z.B. eine insert-Aktion füttert.

Ob Du nun mit Flash direkt Querys durchführen würdest, oder das ganze über den "Umweg" eines serverseitigen Scripts läuft, ist doch im Endeffekt egal; die Daten müssen so oder so zum und vom Server übertragen werden.

Und nein: direkt Dateien auf dem Server schreiben kann ich mit Flash auch nicht. Ich kann sie bestenfalls an den Server senden, wo damit was auch immer passiert (abspeichern, in Tabelle einfügen etc.).

Gruß
.
 
Das mit den Datensätzen ist auf das Sitzplan-Problem bezogen (das Du ja bereits kennst ) :)

Es kann ohne weiters sein, dass ein Sitzplan > 10.000 Plätze hat (und jeder Platz ist ein eigener Datensatz).

Das zu verarbeiten wäre eigentlich kein Problem. Eher, wie Du die Daten dann an den Server übermittelst... Mit GET schauts schlecht aus (maximal 1024 Zeichen). Also die Daten einfach als URL Parameter übergeben geht schon mal nicht...

Leider bin ich kein Flash Profi (war ich vielleicht mal zu Zeiten von Version 4 :) und weiß daher nicht, was es nun für Möglichkeiten gibt, um dieses Problem bequem zu lösen...
 
Zurück