mein erstes projekt mit einem mssql server [sikklserver] bringt mich heute an den rand des nervenzusammenbruchs. auf unserer testinstallation läuft ein gentoo. da installiert man die freetds lib und baut php +mssql neu und es läuft.
beim kunden läuft ein debian sarge. die debianleutchen bieten ein paket php5-sybase (WTF!!) an, das auch mssqlunterstützung bietet. alles sieht ganz normal aus.. bis auf die datumsfelder, da stimmt was nicht, hehe ich bekomme statt 2007-08-29 13:15:00 ein Aug 29 2007 01:15. wenn einem egal ist, ob vormittag oder nachmittag gemeint ist, und sekunden keine rolle spielen, kann man natürlich damit leben.
ich kann leider nicht damit leben, und es beginnt eine odyssee aus apt-get sources.., adodb codeduchsuchen, mailinglisten- und forengequatsche durchgoogelei.. alle was sie noch nie über datenbanktreiber wissenwollten… wie übersetzt man ein debian/rules, wenn einem dann doch immer die falschen flags reingedrückt werden etc. am ende stehe ich da mit einem minimal php, das mssql direkt via freetds benutzt und ich habe wieder schöne datumsstrings. aber eben ein minimal php. irgendwie doch nicht das wahre.
auf den freetds seiten werde ich dann endlich fündig (auch die sybaseoption die sich die debianleutchen ausgesucht haben benutzt letztendlich freetds): es soll eine locales.conf nur zum zwecke des datumsformats geben. naja die ist ja schnell angelegt:
$ vim /etc/freetds/locales.conf
[default]
date format = %Y-%m-%d %T
das funktioniert unglaublicherweise. der treiber im debian binary liefert ein korrekte mydate.
bingo. hauptgewinn! ich darf mit der dingsbumms ins bett..
fazit: microsoft hasst php (und seine kunden auch, nämlich die, die auch php einsetzen), die debianleutchen hassen microsoft…und haben die analsten paketnamen ever … ich liebe dingbumms und adodb und habe, das ist das gute, nebenher einen sqlite3 treiber für die adodb geschrieben, besser gesagt geremixt aber dazu später evtl. definitiv mehr.


