Ergebnis 1 bis 14 von 14

Thema: FMS Crusader und MySQL

  1. #1
    Registriert seit
    09.08.2012
    Beiträge
    3

    FMS Crusader und MySQL

    Hey,
    ich versuche mich schon eine geraume Zeit in das Thema "Weitergabe der
    Daten an eine MySQL-Datenbank" reinzulesen.
    Ich nutze FMS Crusader in der Version 4.7 auf einem Ubuntu 12.04...
    Meine Frage wäre:
    Wie kann ich, unabhängig von den erzeugten .cjf Dateien alle Ereignisse in eine MySQL-Datenbank übergeben?
    Gibt es Möglichkeiten das ganze mit den "Externen Prozessen" zu realisieren?
    Gibt es freie Plugins von Drittanbietern?

    Danke für potentielle Info's & viele Grüße Jan

  2. #2
    Registriert seit
    25.01.2009
    Beiträge
    163
    Interessante Aufgabe.

    Schreib dir doch ein Bash-Script, welches ein SQL-Insert macht.
    Dieses stellst du als externen Prozess ein und übergibst alle Parameter.

    Dann kannst du sogar mehrere Spalten oder gar Tabellen füllen, wenn du es so brauchst.

    mfg
    Amok

  3. #3
    Registriert seit
    09.08.2012
    Beiträge
    3
    Hey Amok,
    wie würde denn so ein Script aussehen?
    Bin leider nicht der Bash-Experte...

  4. #4
    Registriert seit
    25.01.2009
    Beiträge
    163
    Ungünstig bei Linux ;)

    Also wenn du ne Datenbank (fms) mit einer Tabelle (fms) hast, sagen wir so:
    Code:
    CREATE DATABASE fms;
    CREATE TABLE `fms`.`fms` (
      `datum` VARCHAR(50),
      `uhrzeit` VARCHAR(50),
      `fahrzeug` VARCHAR(50),
      `text` VARCHAR(50)
    )
    könntest du dir ein Script wie folgt schreiben:

    Code:
    #!/bin/bash
    
    USERNAME=deinsqlbenutzer
    PASSWORD=deinsqlpasswort
    DATABASE=fms
    TABLE=fms
    
    mysql -u $USERNAME -p$PASSWORD $DATABASE -e "insert into $TABLE (datum, uhrzeit, fahrzeug, text) values('$1', '$2', '$3', '$4');"
    und dieses dann als externen Prozess für alles angeben und natürlich die Parameter übergeben.

    Oder z.B. mehrere Tabellen, eine für Texte (LST Status 10) eine für Alarmierungen, ... und und und...

    Letztendlich hast du alle Möglichkeiten.

    mfg
    Amok

  5. #5
    Registriert seit
    09.08.2012
    Beiträge
    3
    Die Idee an sich ist gut, aber wo gebe ich den Server an wo es die Daten reinschreibt?
    Falls es nicht Localhost ist ;)

  6. #6
    Registriert seit
    25.01.2009
    Beiträge
    163
    Warum beschleicht mich gerade der Gedanke, ... das du dich noch nicht wirklich lange damit auseinander gesetzt haben kannst ^^

    Code:
    mysql --help
    oder

    Code:
    man mysql
    gibt dir die Antwort :P

    Aber ich will mal nicht so sein ...

    Code:
    mysql -h 192.168.2.1 -P 3306 ...
    würde zum Beispiel auf den Rechner 192.168.2.1 auf Port 3306 connecten.

    mfg
    Amok

  7. #7
    Registriert seit
    29.06.2013
    Beiträge
    5

    Problem mit dem konfigurieren des externen Prozesses

    Hi,

    ich habe versucht einen externen Prozess einzurichten um die Meldungen in eine Datenbank einzutragen.
    Meinen Mysql-Query habe ich außerhalb von FMSCRUSADER getestet und er funktioniert reibungslos.
    Ich bekommen nun jedoch eine Fehlermeldung, wenn ich die ".bat" Datei als externen Prozess einbinde.

    Könnte vll. jemand erläutern wie genau ich die Datei einbinden sollte? Das Handbuch hat mir leider auch nicht weiter geholfen.

    grüße

  8. #8
    Registriert seit
    25.01.2009
    Beiträge
    163
    Klick im Client auf "Verwaltung" und dort auf "Externe Prozesse".
    Im oberen Bereich klickst du mit rechts und wählst "Externer Prozess am ende hinzufügen" und dann "Default Prozess hinzufügen".
    In der Maske klickst du dann auf "Pfad angeben" und wählst die Datei aus - Fertig.
    Wenn du Parameter übergeben willst, kannst du diese noch in die Zeile darunter einfügen ($1 $2 $3 ...). Im Handbuch steht ja was die ausgeben bzw. kannst du auch per try´and´error herausfinden, was die Parameter ausgeben.

    Dann baust du dir eine Aktion in dem du im unteren Feld auch rechts klickst und dann auf "Aktion am Ende hinzufügen".
    In dieser Aktion stellst du deine Parameter ein (z.B. Schleife oder Fahrzeug usw.) und wählst deinen Prozess aus - fertig.

    Wenn jetzt deine Bedingungen erfüllt werden, führt die Aktion deinen Prozess aus.

    mfg
    Amok

  9. #9
    Registriert seit
    29.06.2013
    Beiträge
    5
    Hi, danke für die schnelle Antwort.

    ich bekomme leider immer noch die Fehlermeldung, das ein Fehler beim ausführen des externen Prozesses aufgetreten ist.

    Hier der Inhalt meiner bat:
    "C:\Programme\MySQL\MySQL Server 5.6\bin\mysql" --user=root --password=pass server -e "insert into tbl(ric, message) values('$3', '$4');"

    Als Argumente übergebe ich $3 $4.

    Die Aktion:
    Richtung: LST
    Status: 17
    Fahrzeug: All

  10. #10
    Registriert seit
    25.01.2009
    Beiträge
    163
    Wenn du das Script in der Konsole mit 2 Parametern aufrufst, wird es eingetragen?

    mfg
    Amok

  11. #11
    Registriert seit
    29.06.2013
    Beiträge
    5
    Ja, wenn ich es in der console ausführe funktioniert es.

  12. #12
    Registriert seit
    25.01.2009
    Beiträge
    163
    Leg dein Script mal in den selben Pfad wie FMS und gib den externen Prozess Pfad relativ an, nicht absolut. Geht es dann?

    Kann es sein, dass der Prozess keine Berechtigung auf die Datei hat (dein Script)?

    Hast du mal die Endungen .bat und .cmd probiert?

    mfg
    Amok

  13. #13
    Registriert seit
    29.06.2013
    Beiträge
    5
    Vielen Dank für deinen Hilfe, ich habe das Script zum laufen bekommen.
    Die TCP-Schnittstelle hat sich jedoch als zuverlässiger erwiesen.

    MfG
    Timo

  14. #14
    Registriert seit
    25.01.2009
    Beiträge
    163
    Das heißt was? (TCP-Schnittstelle ?!?)

    Was hast du getan (damit andere davon auch was haben)?

    mfg
    Amok

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •