Ankündigung

Einklappen
Keine Ankündigung bisher.

RSSlog Plugin mit MySQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    So, alles repariert, scheint wieder ordentlich zu laufen. Neue Version steht im SVN.

    PelliX

    Kommentar


      #17
      Zitat von PelliX Beitrag anzeigen
      Koenntest du mir trotzdem verraten wie du die CV unter Android am laufen gekriegt hast? [...] Meine Freundin hat ein Android Handy, aber damit bekomme ich die Seite auch nicht geladen...
      Einfach die Seite im Browser (Chrome) öffnen?

      Mir sind Probleme hier unbekannt - und bei so etwas offensichtlichem hätte ich auch erwartet, dass es hier gleich viele Beschwerden gäbe...
      Zur Sicherheit hab ich's gerade selber nochmal positiv gecheckt.

      Das das allerdings in diesem Thread OT ist, schlage ich vor, dass Du einen neuen aufmachst, wo wir schauen und lösen können, wo es hakt. Am besten mit genauer Fehler-Beschreibnung (d.h. was ist das letzte, was der Browser anzeigt. Und ob das auch mit der Demo-Config als Known-Good passiert.)
      TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

      Kommentar


        #18
        Kann man eine bestehende sqlite Datenbank zu mysql konvertieren? Oder muss ich mit einer neuen Datenbank anfangen, wenn ich auf mysql umsteigen möchte?

        Kommentar


          #19
          Das Plugin selber bietet hier keine Unterstuetzung dazu, allerdings ist es relativ einfach moeglich. Ein kurzes PHP Script welches die Daten aus SQLite holt, und diese in einer MySQL Tabelle einfuehrt waere ziemlich einfach zu realisieren. Folgenden Code habe ich nicht getestet, aber so etwas muesste eigentlich alles erledigen:

          Code:
          <?php
          // MySQL
          $mysql_db = "db_name";
          $mysql_table = "tbl_name";
          $mysql_user = "user";
          $mysql_pass = "password";
          $mysql_srv = "mysql.local.lan";
          
          // SQLite
          $dbfile = "/my/local/rsslog.db";
          
          // MySQL connection
          mysql_connect($mysql_srv, $mysql_user, $mysql_pass) or
              die ("database connection failed!" . mysql_error());
          mysql_select_db($mysql_db) or
              die ("database cannot be located!" . mysql_error());
          
          // create database connection
          $db = sqlite_open($dbfile, 0666, $error);
          if (!$db) die ($error);
          
          // fetch and copy data
          $result = retrieve($db);
          
          while( sqlite_has_more($result) )
            {
              $row = sqlite_fetch_array($result, SQLITE_ASSOC );
              $id = $row['id'];
              $title = $row['title'];
              $content = $row['content'];
              $tags = $row['tags'];
              $state = $row['state'];
              $t = $row['t'];
              $mysql_q = "INSERT INTO " . $mysql_table . " (id,title,content,tags,state,t) VALUES " .
                          "('" . $id . "', '" . $title . "', '" . $content . "', '" . $tags . "', '" . 
                          $state . "', '" . $t . "')";
              mysql_query($mysql_q);
            }
          
          // get SQLite data
          function retrieve($db)
          {
              $q = "SELECT id, title, content, tags, state, t FROM Logs";
              return sqlite_query( $db, $q, SQLITE_ASSOC );
          }
          ?>

          Kommentar


            #20
            Super, danke für die schnelle Rückmeldung. Werde ich bei Gelegenheit mal ausprobieren.

            Kommentar


              #21
              Zitat von XueSheng Beitrag anzeigen
              Kann man eine bestehende sqlite Datenbank zu mysql konvertieren?
              Wichtig: nur wie jetzt MySQL "auch" geht, heißt das noch lange nicht, dass das besser ist. D.h. dass man nun konvertieren sollte!

              • MySQL lohnt sich, wenn man (meist für andere Anwendungen) eine ausgewachsene Datenbank braucht und schon am laufen hat so wie diese auch warten kann.
              • Sqlite lohnt sich, wenn man eine leichtgewichtige Lösung möchte, die keine Ressourcen benötigt, wenn keine Zugriffe stattfinden.


              => Es ist super, dass man nun das Optimum für seinen Anwendungsfall aussuchen kann
              TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

              Kommentar


                #22
                @PelliX

                Ich hätte noch eine bitte zum Thema Umlaute.
                Umlaute werden zurzeit nur konvertiert in die DB geschrieben. Das macht Probleme, wenn man in einem Wiregate-Plugin direkt per SQL in die DB schreibt.
                Wenn du in der Datei rsslog_mysql.php in der Zeile 77 nach dem DB-Connect noch den Befehl mysql_set_charset('utf8'); ergänzen würdest, passiert dies nicht mehr.

                Gruß
                Carsten

                Kommentar


                  #23
                  Hallo Carsten,

                  danke fuer den Hinweis, ich habe die Aenderung wie vorgeschlagen in der SVN Version hinzugefuegt. Allerdings ist diese Funktion erst in PHP 5.2.3 und hoeher vorhanden - welche Version von PHP ist auf dem Wiregate installiert, bzw. bis wo kann man da upgraden? An sich koennte man das Plugin ja weiter mit SQLite auf dem Wiregate nutzen, und die MySQL geschichte auf anderen Geraeten/Platformen, aber vielleicht koennen wir das ganze ein wenig zukunfstssicherer machen:

                  PHP: mysql_set_charset - Manual

                  (siehe Hinweis, oben auf der Seite)

                  Gruss,

                  PelliX

                  Kommentar


                    #24
                    Zitat von PelliX Beitrag anzeigen
                    ...welche Version von PHP ist auf dem Wiregate installiert, bzw. bis wo kann man da upgraden? ...
                    Das kann ich dir leider nicht beantworten, da ich nur KNXD auf einem ARM-Server laufen lasse.

                    Gruß
                    Carsten

                    Kommentar


                      #25
                      Code:
                      # php5-cgi --version
                      PHP 5.2.6-1+lenny16 with Suhosin-Patch 0.9.6.2 (cgi-fcgi) (built: Feb  3 2012 13:10:53)
                      Copyright (c) 1997-2008 The PHP Group
                      Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
                      Von einem Update, ohne das Elaborated Networks das Paket bereit stellt, würde ich abraten.
                      TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                      Kommentar

                      Lädt...
                      X