Log-Datei mit Datenbank-Daten

Wäre es nicht möglich die Loggin-Datei direkt aus der Datenbank zu scheiben (und nicht wie bisher aus dem Dateinamen)?

Würde besonders bei der Titelanzeige auf der Homepage besser aussehen…

Zudem habe ich noch folgendes Problem:
Wir laden das Log-File per FTP auf den Server.
Wenn nun der FTP-Client (zwecks Upload) auf das File zugreift und mAirList in diesem Augenblick in das File schreiben möchte, gibt es eine Meldung und mAirList schreibt keine Titel mehr ins File…
Wäre es nicht möglich, dass mAirList nach ein paar Sekunden versuchen würde, wieder ins File zu schreiben oder zumindest mit dem nächsten Titel einfach die Liste weiterführt (dann fehlt halt mal einer :slight_smile: )

Oder wie habt ihr das mit der Titelanzeige auf der Page gelöst?

Liebe Grüsse

Mario

ganz einfach:

mAirlist loggt in die Datenbank.
Homepage liest mittels PHP-Script die Datenbank aus.

Hmmm. Und der Zugriff erfolgt auf deine Datenbank?
Da wir keine fixe IP haben und ich auch nicht gerade begeistert wäre, wenn man aus dem Netz auf den Senderechner (bzw. auf den Server) zugreifen könnte, würde diese Möglichkeit für mich wegfallen …

Oder sehe ich das falsch?

Du kannst ja auch auf ne Datenbank auf nem Server loggen. Muesstest halt auch deine normale Datenbank dann auf dem Server laufen haben.

Gute Idee…

MySQL hat der Provider. Dann könnte ich das Loggin einfach auf eine Datenbank auf dem Webserver schreiben? Oder müsste die gesamte Datenbank der Sendesoftware auf dem Web-Server laufen lassen? Dann wäre es wieder eher unpraktisch, denn fällt mal die Internetleitung aus, wäre es aus mit Senden …

Sorry, verstehe nicht soviel von Datenbanken. Aber dann könnte ich es unserem Webmaster und dem Supporter mitteilen und es einrichten lassen.

Danke für eure Tipps

Da wir keine fixe IP haben und ich auch nicht gerade begeistert wäre, wenn man aus dem Netz auf den Senderechner (bzw. auf den Server) zugreifen könnte, würde diese Möglichkeit für mich wegfallen ... Oder sehe ich das falsch?

Du siehst es falsch, weil…
“man” soll ja nicht auf deinen Senderechner zugreifen können, sondern nur dein Webserver. Was die “keine fixe IP” angeht, versuchs mal mit dyndns.info.

Die Datenbank auf den Webserver zu hauen würd ich aus den von dir schon genannten Gründen nicht empfehlen.

Also, entweder den Webserver auf deinen Senderechner zugreifen lassen, oder wenn du zugriff auf die configfiles von deinem MySQL im Web hast ne Replikation für die logging Tabelle erstellen.

Noch eine Idee waere, einfach ein kleines Programm zu schreiben, das lokal laeuft und sich die Daten vom MySQL schnappt und in einem bestimmten Intervall in eine MySQL Datenbank online schreibt.
Sowas ist einfach zu programmieren. Ich setz mich mal ran.

An sowas wär ich auch interessiert, da ich meiner Testumgebung keine Ports vom Router auf meinen internen Server leiten kann/darf.

Allerdings macht es wenig sinn wenn das Tool sich die Logs in bestimmten Intervallen holt, weil der Titel soll ja immer zeitaktuell auf der Website erscheinen.
Besser wärs immer dann hochladen zu können wenn sich d Tabelle ändert (z.b. bei Neueintrag) Dazu bräuchte man dann Trigger innerhalb der MySQL. Die unterstützt das nur leider nicht und mit postgre krieg ich mAirlist nicht zum laufen.

Wenn man aber z.B. alle 10 Sekunden das ausfuehrt sollte es immer Recht aktuell auf der Website sein. Ein SQL Query verbraucht ja jetzt wirklich nicht viel Traffic.

Ok hier ist mein Programm

http://jugend.tvbuettelborn.de/mAirListOnlineLog.exe

Das Programm benoetigt den MySQL ODBC Treiber. Download gibts bei:
http://dev.mysql.com/downloads/connector/odbc/3.51.html

Einfach die Serverdaten eintragen. Bei dem SELECT Query nur die Felder auslesen die auch auf den Server geschrieben werden sollen.
z.b. SELECT artist, title FROM log ORDER BY id DESC LIMIT 1
Wichtig ist das er nur eine Zeile ausliest.

Beim Insert Query muss die Variable %string% eingefuegt werden um das was ausgelesen wurde in die andere Datenbank zu schreiben.
z.B. INSERT INTO onair VALUES (’%string%’)
oder
UPDATE onair SET text = ‘%string%’

In der Variable String steht alles was aus dem Select ausgelesen wurde jeweils mit einem - getrennt.
Bei dem Beispiel von oben waere es artist - title.

Dann einfach auf Start druecken und er fuehrt die Querys im gewuenschten Intervall aus.

Eventuell braucht ihr noch die VB6 Runtime.

Verbesserungsvorschlaege nehme ich gerne entgegen.

liebe gruesse
Christoph

cevou: Ich hab das jetzt nicht ausprobiert, aber das klingt sehr nett. Willst du eine kleine Homepage drum basteln? Dann kann ich das mal auf der mAirList-HP verlinken.

revO: mAirList selbst läuft schon ganz gut mit PostgreSQL, leider die Musikliste nicht. Das soll sich ja bald ändern, wenn ich mal etwas Zeit finde seufz

Torben

hey, dein tool ist echt cool.

kleine idee:
wie wäre es, wenn man die vom lokalen Server abgefragten Felder in deinem Programm als Variablen zur Verfügung hätte und mit diesen Variablen dann den Insert-Befehl für die Homepage-Datenbank zusammenbauen könnte?

Dann könnte man auch auf dem Server im Netz mehrere Felder in der DB haben und da auswerten und nutzen.

Gruß
Kai