SQL Server 2005, ein anderer Port und das Management Studio Express
Gregor Ottmann | Januar 24, 2008 on 1:01 pm | In .Net, Datenbanken, Know-How | No CommentsWenn man einen SQL-Server hat, auf dem mehrere Instanzen laufen, kriegt jede Instanz einen eigenen Port. Wenn man nun mit dem Management Studio Express auf eine der Instanzen will, muss der SQL Browser auf dem Server laufen, damit die Kisten untereinander den Zielport auskaspern können. Blöde, dass sogar MS selbst diesen SQL Browser als Sicherheitslücke bezeichnet - was macht man also?
Ganz einfach, man gibt den Port einfach in der DB-URL an, also typischerweise so:
hostname.domain.de:4711\InstanzName
Nein, natürlich nicht. Das wäre ja die Standardnotation, und bekanntlich mag Microsoft keine fremden Standards. Den abweichenden Port muss man deshalb mit einem KOMMA trennen, nicht mit einem Doppelpunkt… Der korrekte Hostname sähe also so aus:
hostname.domain.de,4711\InstanzName
Ja, leckt mich doch… Bis ich das raus hatte, hatte ich mal wieder eine ganze Reihe neuer grauer Haare. Die Rechnung für das Haarfärbemittel schicke ich auf jeden Fall an Microsoft, Abteilung “Anwenderverwirrung”.
Noch mehr kostenlose Icons für uns Entwickler
Gregor Ottmann | Januar 2, 2008 on 8:29 am | In Vermischtes | No CommentsVor länglicher Zeit hatte ich schon mal auf ein paar praktische Icns verwiesen, derer man sich als Entwickler bedienen kann, wenn man grafisch so jämmerlich untalentiert ist, wie ich es bin. Heute bin ich jetzt über eine Aufstellung kostenlos verfügbarer Icons gestolpert, die nicht nur auf die damals schon angepriesenen FamFamFam-Ikonen verweist, sondern auch noch 24 andere Quellen für die kleinen Klickibuntis nennt. Da man im Leben nicht mit nur einem Iconset glücklich wird (genau so wenig wie mit nur einer Biermarke), konnte ich Euch diese Information natürlich keineswegs vorenthalten…
Ach, bevor ich es vergesse: Ich wünsche allen Lesern ein stressfreies 2008, in dem hoffentlich möglichst viele Customer da abgeholt werden können, wo ihr Schmerz sitzt - idealerweise im Sinne eines Quick Win aus der Kategorie “low hanging fruit”, der unter Nutzung möglichst vieler Synergieeffekte viel Freizeit zum Zelebrieren nächtelanger Bullshit-Bingo-Sitzungen übrig lässt.
Comments mal deaktiviert
Gregor Ottmann | Dezember 21, 2007 on 1:59 pm | In Vermischtes | Comments OffNachdem hier in letzter Zeit endlose Mengen fiesen Commentspams eingetrudelt sind, durch die ich ständig irgendwas wegmoderieren musste, habe ich die Kommentare vorläufig komplett ausgeknipst. Mit etwas Glück kriege ich im neuen Jahr eine neue Version von Wordpress, in der die Option “Users must be logged in to comment” eventuell sogar funktioniert… In dem Fall würde ich reaktivieren.
Wie man eine .Net-Assembly nachträglich signiert
Gregor Ottmann | Dezember 17, 2007 on 3:28 pm | In .Net, Know-How | No CommentsDa habe ich doch heute ein brauchbares Datepicker-Control gesucht und, es geschehen noch Zeichen und Flundern, tatsächlich eines gefunden. Das Datepicker-Dings von Graymatter ist nämlich klein, einfach zu nutzen und ziemlich exakt das, was man so braucht. Tofte. Also habe ich es in mein Projekt gedingst und mal eine frische Compilation angestoßen. Wuppwupp.
Nix “wuppwupp”. Mein Projekt wollte eine signierte Assembly (”strong-named”, wie wir Experten das nennen) bauen, aber leider war die DatePicker-Assembly nicht signiert. Arglgnagnabarfzgna. Da stand ich dann also und durfte mich fragen, was und warum und wie und ob ich jemals wieder Java benutzen darf.
Manche Probleme sind zum Glück nicht ganz so gravierend, wie sie zunächst aussehen. Als elitärer Google-Master bin ich nämlich auf einen Blogpost gestoßen, der eine ganz einfache, wenn auch etwas hackerige Lösung enthielt:
ildasm /tokens /out=unsignedAssembly.il unsignedAssembly.dll
ilasm /dll /key=key.snk unsignedAssembly.il /out=signedAssembly.dll
Die Assembly zu disassemblieren und dann wieder zusammenzuklatschen ist zwar irgendwie leicht gewagt - aber was kratzt mich das, solange es nur funktioniert? Nicht die Bohne, genau.
Wie man aus einem int wieder ein C#-Enum-Objekt macht
Gregor Ottmann | Dezember 14, 2007 on 9:45 am | In .Net, Know-How | No CommentsDieses schon mal vorweg: ASP.Net hinterlässt bei längerer Benutzung schwere Gehirnschäden, folglich muss bei mir mit dem Schlimmsten gerechnet werden. Falls ich demnächst nur mit einer über den Kopf gezogenen Damenunterhose bekleidet und laut “Microsoft! Microsoft!” brüllend durch die heiligen Hallen der SKYTEC AG hüpfen sollte, weiß man also, woran das liegen könnte. Soviel zur Einleitung, kommen wir zum Thema:
Ich brauchte für eine Dropdown-Liste die Werte eines enum-Typen, was ziemlich Easy ist: Man kann jedes enum-Dings einfach nach int casten, schon hat man was, was man in ein Dropdown frickeln kann. Das sieht etwa so aus:
myListBoxDings.Items.Add(FrickelEnum.Burfz.toString(), ((int)FrickelEnum.Burfz).toString());
Yep, ganz easy. Blöderweise musste ich jetzt aber den Wert aus der Liste in eine andere Methode stopfen, und die erwartet als Parameter keinen string, kein int, nein - einen enum-Wert. Gnarfzgagagagaga. Damenunterhose. “Microsoft! Microsoft!”
Was für versierte .Net-Profis (erkennbar an der Damenunterbekleidung) kein Problem ist, hat mich erstmal ziemlich genervt, bis eine kleine Google-Recherche gezeigt hat, dass das alles kein Problem ist, solange man nur weiß, wie es geht:
FrickelEnum brunf = (FrickelEnum)Enum.ToObject(typeof(FrickelEnum), Int16.Parse(myListBoxDings.SelectedValue))
Ha! Geht doch! Damit kann ich mich jetzt der eigentlichen Logik widmen und schon mal über den nächsten Artikel nachdenken, der den Titel “WCF ist Microsofts Version von WTF?!?” tragen wird. Ob dieser jemals geschrieben wird, hängt allerdings wohl davon ab, wie meine Chefs zur Frage des Beschäftigungsverhältnisses für nackte Entwickler mit Tangas auf dem Kopf stehen. Microsoft! Microsoft!
(Falls es jemand wissen will: Das Ergebnis der besagten Google-Recherche war dieser hilfreiche Artikel hier.)
ASP.Net, ein Custom Control, eine DataTable und ein GridView - Sortieren für Masochisten
Gregor Ottmann | November 23, 2007 on 1:38 pm | In .Net, ASP.NET, Know-How | No CommentsDer Tag hatte so schön angefangen: Es war mir gelungen, ein paar Web Parts zu stricken, die im Zusammenspiel ein originelles Anmeldeschema, das vom Kunden vorgegeben wurde, korrekt umsetzten. Ich hatte einen WCF-Webservice korrekt angebunden und rausgefunden, wie man alle Ausgaben elegant lokalisiert. Die sprichwörtliche Sonne war damit beschäftigt, mir aus dem ebenso sprichwörtlichen wie dicken Arsch zu scheinen.
Der Moment, an dem es mit diesem schönen Freitag massiv bergab ging war der, in dem ich ein Custom Control bauen wollte, welches in einem Web Part eingebunden werden sollte und in dem eine Tabelle mit Werten angezeigt werden sollte - ein GridView, wie wir Möchtergern-Experten es gerne nennen. Weil die Applikation ja sauber aufgebaut ist, konnte das seine Daten nicht direkt aus einer SQLDataSource holen sondern aus einer selbstgebauten DataTable. Das ging sogar, doch beim Klick auf einen der Sortierlinks in der Titelzeile flog alles auseinander. Zwei Stunden später wusste ich immer noch nicht, wieso der Kram nicht sortieren wollte und der Tag war dort, wo vorher die immer noch ziemlich sprichwörtliche Sonne herauszuscheinen beliebte.
Weitere zwei Stunden später ging die Sonne wieder auf, denn ich hatte ein sehr hilfreiches Forenposting über GridView, DataTable und die verdammte Sortierfunktion gefunden. Ein wenig kopierter Code, und schon konnte ich sortieren. Aufsteigend. Andersrum nicht, wieso auch immer.
Also tat ich, was ich gleich hätte tun sollen, und las besagtes Posting etwas weiter, nämlich bis zu dem Punkt, wo andere mein Problem hatten und der ursprüngliche Auto sich erbarmte, nochmal nachzuarbeiten - das Ergebnis dieser Nacharbeit findet man auf dieser Seite hier, allerdings rafft man es nicht, ohne das Posting gelesen zu haben. Macht nix, zur Not reicht kopieren ohne Peilung auch aus - solange das GridView nur sortiert.
Fazit 1: Du sollst das Control nicht vor dem GridView loben.
Fazit 2: DataTables lassen sich nicht ohne fremde Hilfe sortieren.
Fazit 3: Ich gehe jetzt heim, bevor ich noch auf die Idee komme, meinen Fileupload zu testen…
Mittlerweile quartzt auch .Net
Gregor Ottmann | Oktober 12, 2007 on 12:20 pm | In .Net, Tools | No CommentsIrgendwie habe ich derzeit das Gefühl, dass so ziemlich alles, was an Java gut und erstrebenswert ist, auf .Net portiert wird. Beispielsweise war “Quartz” für mich immer schon so ein “no brainer”, wenn ich in Java irgendwelche Dinge zeitabhängig ausführen musste - und heute habe ich zufällig gesehen, dass es mittlerweile auch eine .Net-Version dieses Scheduler-Tools gibt.
Gut, mit der microsoften Version des Minerals ist man scheinbar noch nicht ganz so weit, wie es in der Java-Welt der Fall ist, und auch eine passende Integration in Spring.net scheint es noch nicht zu geben, aber so weit ich es aus dem Tutorial erkennen kann, ist die Entwicklung auf jeden Fall weit genug, um einen Test zu rechtfertigen. Falls man mal unter .Net schedulieren muss natürlich, ansonsten kann man seine Zeit sicher mit angenehmeren Beschäftigungen totschlagen.
Grafische Editoren mit der Visual Library von Netbeans
Gregor Ottmann | Oktober 2, 2007 on 7:41 am | In NetBeans, Tools | No CommentsMHenze hat mir heute einen Link zu einem Screencast geschickt, und weil ich mir im Büro eigentlich keine Videos ansehe, hat es etwas Überzeugungsarbeit benötigt, um mich zum Betrachten des Screencasts über die neue “Visual Library” von NetBeans zu bringen. Naja, OK, der Hinweis “Das ist besser als Arbeiten, oder?” hat eigentlich ausgereicht, wenn ich ehrlich bin. Jedenfalls war ich extrem begeistert von dem, was ich dort gesehen habe… Mit diesem kostenlosen Toolkit kann man nämlich Graphen aus verbundenen Widgets extrem einfach auf den Schirm bringen, und man muss dafür nicht mal das NetBeans-Framework benutzen, sondern kann den ganzen Schmarrn auch in ganz normale Swing-Applikationen einbauen. Affengut, wirklich.
Ich könnte jetzt stundenlang davon schwärmen, wie geil das alles ist, aber viel besser ist es, wenn Ihr Euch einfach die 18 Minuten nehmt, um das oben verlinkte Video mal anzusehen. Schart ein paar Entwickler um Euch, holt Popcorn und Bier, macht ein Event draus - aber lasst Euch das bitte nicht entgehen, ja? Und wenn Ihr fertig mit dem Teil seid, klickt Ihr noch auf den Link zur Projekthomepage für die Lib da und zieht Euch die Details rein, bevor Ihr mit der Coderei anfangt.
Ein Tag aus dem Leben einer ASP-Seite
Gregor Ottmann | September 27, 2007 on 10:52 am | In .Net, ASP.NET, Know-How | No CommentsMensch, da habe ich es so lange geschafft, mich vor Microsofts Webtechnologien zu drücken, und was passiert mir in diesen Tagen und Wochen? Alle Kunden verlangen auf einmal nach Sharepoint, ich darf mich in den ganzen Kram einarbeiten und stelle plötzlich entsetzt fest, dass ich das Zeug teilweise gar nicht so uncool finde. Ich gebe zu, mich irgendwie schmutzig zu fühlen - aber auf eine Art, die durchaus Sex-Appeal hat. Ich spare mir im Sinne der USK-Einstufung für diese Website detaillierte Vergleiche, die genauer beschreiben würde, wie ich das meine.
Gerade als Umsteiger aus der Java-Welt habe ich allerdings ein paar Stolpersteine gefunden, die nicht ganz ohne sind. Der grundlegendste dieser Steine war wohl die Sache mit dem Lifecycle der ASP-Seiten - ich dachte ganz arrogant, dass ich das als erfahrener J2EE-Anwender schon intutiv raffen würde, und das war ein Irrtum. Irgendwie wurde aber schnell alles klarer, als ich die kurze Einführung in den Lebenszyklus einer ASP-Seite durchgelesen habe, die mir MHenze freundlicherweise empfohlen hat. Wer hätte gedacht, dass in so wenig Text so viel Lebensrettungspotenzial stecken könnte?
Einst XFire, jetzt CXF - einfache Webservices mit Java und Spring
Gregor Ottmann | September 12, 2007 on 7:41 am | In Spring, Tools | No CommentsIch war immer schon ein Freund des SOAP-Toolkits “XFire” - irgendwie hat mir das Tool einfach besser gefallen als das eher komplizierte und verfettete AXIS aus dem Apache-Lager. Mittlerweile schießen sich XFire und Apache allerdings nicht mehr aus, wie ich heute gelesen habe, denn aus XFire und einem anderen Tool namens “Celtix” ist nun das im Apache-Incubator rumliegende Projekt “CXF” geworden. Ich habe gerade mal die Dokumentation überflogen und muss sagen, dass mir das Teil da immer noch besser gefällt als Axis. Insbesondere dann, wenn man seine Webservices aus einem Spring-Container heraus publizieren will und die Microsoft-typische Art, einen Service zu bauen (Interface mit Annotations und aus die Maus) mag, wird man mit CXF sicherlich glücklich werden.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^
:RSS2-Feed