blog.atwork.at

news and infos about microsoft, technology, cloud and more

Wie bekomme ich binäre Dokumente (BLOBs) aus dem SQL Server?

Das Leben als Datenbank-Administrator steckt voller Überraschungen. Mal gehören Indizies erstellt oder neu aufgebaut, Volltextkataloge rebuildet, Datenbanken gebackupt, gewartet, restored und natürlich ist ein DB-Admin Ansprechpartner für alle weiteren auftretenden Probleme und Wünsche der IT und der Anwender. So hatte ich vor kurzem die Anforderung, in einer Datenbank gespeicherte Bilder "herauszuholen", also klassische BLOBs (Binary Large Objects) als Dateien zu speichern. In meiner Datenbank existiert eine Tabelle "MyFiles" mit einer Spalte vom Typ IMAGE. Das Pendant ab SQL Server 2005 wäre der "neue" Datentyp VARBINARY; in meinem Fall handelt es sich um eine konvertierte DB aus SQL 2000 in SQL 2005. In der Spalte "FIL_Content" ist der Dateistream einer Datei enthalten, z.B. JPG-Bilder, Word- und Excel-Dokumente, PDFs, (BLOB), also ganz egal welche Files (ab SQL 2008 gibt es übrigens einen eigenen Filestream-Datentyp. ;-) Die binären Dokumente können nicht simpel mit Copy & Paste herausgeholt werden, nur die entsprechende Applikation liest und schreibt die Dateien von und in die Datenbank. Diese binären Informationen aus der Tabelle sollen als Files gespeichert werden um sie weiterzuverwenden. So sieht die vereinfachte Tabelle aus, Auszulesen ist die Spalte FIL_Content: Natürlich könnte ich eine kleine .NET Applikation dafür bauen, aber ich wollte eine möglichst rasche Lösung. Und ich habe sie auch gefunden! Ein kleines T-SQL Script im SQLTeam.com Forum von "Peso". Dieses habe ich analysiert und wie folgt angepasst. (Das ganze Script gibt es hier zum Download, es läuft in SQL Server 2005 und 2008.) Ich habe das Script als Stored Procedure "save2file" angelegt. Die Funktionsweise kurz erklärt: Mit einem Cursor (Zeile 16) wird die gesamte Tabelle "MyFiles" durchlaufen und die selektierten Felder in Variablen eingelesen (Zeile 21). Dann wird der Pfad aus Feld FIL_ID und Dateiname zusammengebaut und ausgegeben (Zeile 25-28). Jetzt kommt der Clou: Es wird ein ADODB-Stream als OLE-Objekt angelegt (Zeile 30) und mit den Werten befüttert (Zeile 31 bis 34). Dieser Stream wird auf die Festplatte geschrieben (Zeile 33, 34) und das OLE Objekt zerstört (Zeile 36). Und weiter mit dem nächsten Datensatz (Zeile 38). Anzupassen ist natürlich der Pfad, wohin die Dateien gespeichert werden sollen (Zeile 27). Ausgeführt wird das Script wie gewohnt mit exec save2file Voila! Wenn alles stimmt, wurden die binary Contents als Files in den gew. Pfad extrahiert: Hinweis: Diese Vorgangsweise ist sehr rasch anwendbar, aber nicht unbedingt für "daily use" geeignet. Je nach Datenmenge ist das Erstellen eines OLE-Objekts nicht unbedingt "günstig". Aber für den Ab-und-zu Export verdient das Script meine Empfehlung als "best practice"! Eine weitere Methode: KB258038: How To Access and Modify SQL Server BLOB Data by Using the ADO Stream Object mit dem VB Beispiel "Saving the Data in a SQL Server Image Column to a File on the Hard Disk" und "Transfer the Image Stored in a .gif File to an Image Column in a SQL Server Table". In Teil Zwei geht es dann um den umgekehrten Weg - wie bekomme ich Files per T-SQL als BLOB in die Datenbank... Möge T-SQL immer so hilfreich sein! ;-) Beitrag von Toni Pohl

Die Zukunft von SQL Server...

...beginnt hier! SQL Server 2008 R2 (codename "Kilimanjaro") wird ab Mai 2010 verfügbar sein (SQL Server 2008 R2 gets an official date). An der übernächsten Version von SQL Server wird auch schon gearbeitet: Wenn man den Gerüchten Glauben schenkt - msdn blog von Dan Jones, Mitglied des SQL Server Teams und den üblichen Verdächtigen (Bloggern) -, so wird diese SQL Server Version den Codenamen "Denali" tragen - und könnte als SQL Server 2011 enden? Das SQL Server Team hat eine Vorliebe für National-Park-Namen und "Denali" (indianisch: "Der Hohe") ist mit fast 6.200 Metern der höchste Berg in Nord Amerika in Alaska und heißt offiziell Mount McKinley... Matthias Berndt (Group Program Manager Microsoft SQL Server) informiert übrigens in seinem Blog über die Zeitpläne der nächsten Releases: Microsoft SQL Server Release Services, hier die wichtigsten Termine: SQL Server 2008 SP2 wird voraussichtlich im 3. Quartal 2010 veröffentlicht. SQL Server 2005 SP4 kommt wohl im 4. Quartal 2010 und wird wahrscheinlich das letzte Service Pack für diese SQL Version sein; den "erweiterten Support" dafür wird es ab April 2011 bis Dezember 2016 geben. (Allgemeine Infos zur Lebenszeit der Microsoft Produkte finden sich in support.microsoft.com/lifecycle.) Und noch etwas Lustiges zum Abschluss: Wissen Sie, wie SQL Server _schmeckt_? Und wie schmeckt Oracle im Vergleich dazu?? Dazu hat martinidesign ein wirklich köstliches Video produziert: The DB Taste Challenge Viel Spaß!

Blogtail#9

Gestern war – unser erster – Blogtail. Ein Zusammentreffen von Bloggern mit Cocktails: blog-tail, organisiert von bloegger.at in der Cserni Bar im ersten Bezirk, gleich gegenüber der Börse. Und es war … voll! So viele Blogger und Twitter-User, mit großer Live Twitter-Wall: #blogtail Hier ein paar snapshots vom Event!         Mehr dazu auf bloegger.at.

iPad rulez

Kurz nachdem Steve Jobs in San Francsisco den neuen iPad vorgestellt hat, ist eins klar: Apple hat es wieder einmal - mit der Vorstellung des iPad - geschafft, die Presse und Online-Blogs zu dominieren! PR ist definitiv eine Stärke von Apple. (iPad, Foto von apple.com) Genau das meint auch Steve Clayton in seinem Blog: In einer aktuellen Tag-Cloud stehen "iPad", "News" und "Apple" unangefochten an der Spitze der am meisten verwendeten Begriffe, siehe techmeme the-day-after. Was man auch immer vom neuen iPhone-Surf-Mini-Mac-Tablet-Gerät hält - von Euphorie bis zu Abwarten, wer das überhaupt braucht - der iPad könnte den Zugang zum Internet revolutionieren. Die Bedienung ist per Multi-Touch-Display wirklich kinderleicht und könnte so auch Zielgruppen zum Internet bringen, denen die "Computerei" bislang zu kompliziert war ("...people are looking for simplicity and function, and Apple are the only company delivering at this point...") Lese-Tipps: future-shock, iPad rocks!  Ich bin ja auf die Akzeptanz des iPad gespannt, wenn es das Gerät mal zu kaufen gibt... irgendwann ab März?

Frohe Weihnachten 2009!

Mit diesem kleinen selbstgezeichneten Weihnachtsbaum wollen wir Sie auf die Relevanz von Green-IT auch im kommenden Jahr hinweisen und Ihnen und Ihren Lieben Schöne Weihnachten und erholsame Feiertage wünschen! (Dieser Weihnachtsbaum ist Natur-neutral produziert und erzeugt keinen zusätzlichen CO2-Ausstoß, da virtuell ;-) Auch im kommenden Jahr wird unser atwork-blog wieder prall gefüllt mit neuesten Informationen aus der IT sein, wir freuen uns auf Ihr Interesse! Wir sind wieder ab dem 7. Jänner 2010 für Sie da - genießen Sie die Feiertage! Ihr atwork-Team

Meine Tweetcloud

Auf tweetcloud.icodeforlove.com kann sich jeder Twitter-User eine "Tweetcloud" erstellen lassen. In meinem Fall sieht die so aus: Fesch! Meine Hauptthemen sind also blog, post (das liegt wohl daran, dass ich fast jeden tweet mit "new blog post" beginne ;-) und in Wahrheit: blog, post, windows, server, 2008, download, hyper-v, microsoft, 2009 - wenig überraschend. Freut mich, dass auch "liab" vorkommt; alle Top-Begriffe nach Reihenfolge sieht man hier. Also, auch mal selbst ausprobieren!

Videos und Silberlicht für das IPhone

Langsam scheint es ja was zu werden: Microsoft-worked-with-Apple-for-Silverlight-on-iPhone-says-Goldfarb. "By not making such a big deal out of trying to stream video to the iPhone, Microsoft got a big deal out of it, revealed the Silverlight product manager." + ? Microsoft´s Webserver IIS kann Videos per HTML5 <VIDEO>-Tags an Quicktime-Player ausliefern - genau das, was Kunden wünsch(t)en: "Look, we just need to get our content there, and it's mainly in the media space like broadcasting, and we want to put it on the iPhone." Hoffentlich wird es auch bald (mit Microsoft-Visual Studio) möglich sein, Silverlight-Applikationen für das Apple IPhone zu schreiben... Das wär klass.

Bing fällt leicht zurück, Anwender kehren zu Google zurück

Nach anfänglicher Neugier scheint die Verwendung von bing nun wieder zurückzufallen und die Anwender verwenden wieder mehr die altbekannte Google-Suchmaschine, so berichtet eweek.com: Microsoft Bing U.S. Search Share Falls, Sparking Google's Gain Im August erreichte Bing fast 10% Verwendung, Google fiel von 80% auf 78%. Im September lag Bing dagegen nur mehr bei 8,5% und Google wieder bei 80%. Yahoo fiel von 10% im August auf 9% im September. Der Trend ging bis August von Google zu Bing, nun scheint er sich wieder leicht umzukehren. Die Neugier nach der neuen Suchmaschine bing hat sich wieder etwas gelegt, wie so treffend im Artikel beschrieben: "...honeymoon is over, and that users, their curiosities satisfied, are returning to Google."

Aktueller Stand im Browser-Krieg

Welcher Browser ist besser? Wie sieht die Verwendung der Browser jetzt aus? Die Antwort findet sich in dieser Auswertung von Net Applications: Die Glaubenskriege flauen etwas ab, die Marktanteile verschieben sich zur Zeit weiter von Internet Explorer zu Firefox: IE sinkt um 0,7% auf 67%, Firefox steigt um 0,5% auf  23%, Safari bleibt bei 4%, Chrome steigt um 0,25% auf fast 3%, Opera bleibt bei 2% (gerundet). August 2009 browser stats: IE continues its slow decline Soviel zum aktuellen Stand. Mehr dazu im Artikel.

Popular Logos with Hidden Symbolisms

Schon mal bekannte Logos genauer angeschaut? Ein Retweet aus Twitter und Facebook: "Roman Korecky RT @Luca (via @GGoeschl) Sehr nett zum Anschauen, und auch als Gehirnjogging: Toller Artikel über intelligente Logos: Popular Logos with Hidden Symbolisms" In diesem Afrika-Logo sieht man auch zwei Personen, eine Frau und ein Kind, die sich ansehen und somit Hoffnung und Unterstützung signalisieren. Und viele weitere populäre Beispiele von amazon bis Northwest Airlines bei sixrevisions.com.