Value ‚0000-00-00′ can not be represented as java.sql.Date

Habe gestern das Problem gehabt, per Quantum DB in Eclipse auf eine MySQL-Datenbank zugreifen zu müssen, in der Date-Felder mit dem Wert ‚0000-00-00′ belegt waren, was anscheinend ein Problem für den MySQL-Connector darstellt. Der meldet sich dann nur noch mit dem Text aus der Überschrift und SQL State: S1009 und Error Code: 0 und verweigert die Ausgabe der Suchanfrage.

Die vorläufige Lösung für mich bestand darin, die Connection URL um den Parameter zeroDateTimeBehavior=convertToNull zu erweitern, sodass solche Datums-Werte in NULL umgewandelt werden, da ‚0000-00-00′ kein valides Datum ist.

Die Connection URL sieht dann etwa so aus:
jdbc:mysql://host:3306/database?zeroDateTimeBehavior=convertToNull

Das reicht mir aktuell, um damit weiterarbeiten zu können, da ich nur SELECTs auf die Datenbank absetzen muss. Wie sich diese Einstellung verhält, wenn man in die Datenbank schreibt, muss sich erst noch zeigen.

VMWare Server: Gast-System kann bei NAT zwar nach draussen pingen, bekommt aber ansonsten keine Verbindung zustande

Habe gerade das Problem gehabt, dass ein Debian-Gastsystem in VMWare (Windows 7 Host) von draussen erreichbar war, DNS auflösen und nach aussen pingen konnte, aber selbst keine Verbindungen aufbauen konnte (wget, telnet, ssh).

Nach vielen Stunden der Suche, konnte mein Kollege sich daran erinnern, dass er das Problem schonmal hatte und gelöst hatte, indem man die vmnat.exe im Verzeichnis c:\Windows\SysWOW64\ durch eine neuere Version ersetzt, die z.B. beim VMWare Player dabei ist.

Die Datei kann man sogar im laufenden System ersetzen, sofern man vorher den Dienst „VMWare NAT Service“ beendet und nach dem Ersetzen wieder startet.
Danach klappts auch wieder mit dem Netzwerk. Ich musste dafür bei mir nichtmal das Gastsystem beenden.

Apache2 Reverse Proxy mit Client-IPs

Die Ausgangslage: Ich habe immer wieder mal das Problem, eine Webseite (bzw einen kompletten Virtual Host) auf einen neuen Server umzuziehen. Der häufigste Grund dafür ist eine veraltete Server-Software zu aktualisieren (z.B. von Debian Etch oder Lenny auf Debian Squeeze). In diesen Fällen gehe ich oft so vor, dass ich auf dem neuen Server die gleiche Virtual Host Konfiguration einrichte, wie auf dem Alten. Normalerweise habe ich hier auf beiden Systemen einen Apache2 Webserver, daher sollte das relativ einfach zu übertragen sein. Das hat zum einen den Vorteil, dass ich auf dem Zielsystem gleich testen kann, ob die Webseite noch so funktioniert, wie gewünscht, zum anderen kann ich per Reverse Proxy Konfiguration auf dem alten Server die Webseite schon vom neuen Server holen, obwohl die DNS-Einstellung der Domain noch nicht abgeschlossen ist – und zwar ohne dass der gemeine Webseiten-Besucher davon etwas mitbekommt.
„Apache2 Reverse Proxy mit Client-IPs“ weiterlesen

ImageMagick auf einem DomainFactory-Managed-Server installieren

Heute musste ich auf einem Managed Server von der Domain Factory ein PHP-Modul nachinstallieren, welches nicht in der Standard-Installation dabei war. Leider fällt eine automatische Installation per PECL (also „pecl install modulname“) auch aus, da PECL (im Gegensatz zu PEAR) nicht installiert ist.
„ImageMagick auf einem DomainFactory-Managed-Server installieren“ weiterlesen

Reihenfolge von HTML-Elementen in einem Kontainer per jQuery ändern resultiert in einem leeren Kontainer

Die Ausgangssituation: Ich habe einen Kontainer, dessen (direkte) Kind-Elemente ich per jQuery eine neue Reihenfolge verpassen möchte. Dazu erzeuge ich mir einen Array, der alle betreffenden Elemente beinhaltet und ändere die Reihenfolge dieses Arrays. Dann gehe ich die Elemente des Arrays nacheinander durch und hänge sie am Ende des Kontainers wieder an (genauer: per .insertAfter() hinter das letzte Element) – das bedeutet, das Element wird aus dem DOM genommen und nach hinten verschoben. Danach sollte der Kontainer die gewünschte Reihenfolge haben.
„Reihenfolge von HTML-Elementen in einem Kontainer per jQuery ändern resultiert in einem leeren Kontainer“ weiterlesen

Reality Interwebs – besser als TV

Leute, Leute…
Ihr, die ihr auf der Mailingliste sitzt und genervt antwortet, dass ihr aus der Liste gelöscht werden wollt: HAHA! *mitdemFingerzeig*
Scheint Euch ja so sehr zu nerven, dass Ihr in Kauf nehmt, dass Eure eigene Email-Adresse nicht nur von den Spammern verifiziert wird (das ist vielleicht das Offensichtlichste) – nein, Ihr nehmt auch noch in Kauf, dass Ihr tausende Leute durch eure eigene „Beschwerde-Email“ auf die gleiche Weise nervt.
Ist es so schwer, die Konsequenz daraus zu erkennen? Ihr werdet selbst zum Spammer und Eure eigene Email-Adresse landet auf den Blacklists.
„Reality Interwebs – besser als TV“ weiterlesen

Drachenkurve revisited

In einem früheren Blogartikel (Drachenkurve, 9.April 2008) schrieb ich, dass ich die Drachenkurve per PHP nachgezeichnet hatte.
Der Nachteil mit dieser Methode war, dass das Erzeugen der Fraktal-Grafik selbst auf einem starken Server recht lange dauert, was zur Folge haben kann, dass der Browser oder der Server nach einer gewissen Zeit einfach abbricht, ohne dass man irgendetwas zu Gesicht bekommt.

Deshalb habe ich die ganze Erstellung der Grafik einfach auf die Client-Seite verschoben. HTML5 bietet nämlich mit dem Canvas-Element und etwas Javascript eine hervorragende Möglichkeit dafür.
„Drachenkurve revisited“ weiterlesen

Piwik 1.3: Internal Server Error 500

Gestern kam das Update für Piwik auf die Version 1.3 heraus, das ich heute morgen versucht habe über die automatische Update-Funktion zu installieren.
Leider kam ziemlich bald nach dem Klick auf den Button ein „Internal Server Error 500″ und Piwik war quasi nicht mehr zugänglich.
Ein nachträgliches manuelles Update brachte das selbe Ergebnis und eine komplette Neu-Installation führte zu dem selben Problem, sobald ich die Datenbank-Verbindung angegeben hatte…
„Piwik 1.3: Internal Server Error 500″ weiterlesen

Redmine: Upload von Dateien größer als 130kb

Wir hatten gerade das Problem, auf einem Debian-Squeeze-System mit apache2-mpm-worker, dass bei Redmine-Tickets keine Dateianhänge grösser als ca 130kb hochladbar waren.
Dabei gab es die unterschiedlichsten Auswirkungen, wie zum Beispiel einen „500 Internal Server Error“, unendliches Laden der Seite oder auch eine Meldung vom Browser, dass der Server nicht mehr antwortet.
Im Redmine-Log waren keine Fehlermeldungen zu finden, dafür aber im Apache-Error-Log des entsprechenden VirtualHosts:

[Fri Apr 15 16:05:40 2011] [warn] [client xxx.xxx.xxx.xxx] mod_fcgid: HTTP request length 138452 (so far) exceeds MaxRequestLen (131072), referer: (...)

„Redmine: Upload von Dateien größer als 130kb“ weiterlesen