Bilder mit den Integration Services verarbeiten

12. March 2009

htc_diamondAuf der diesjährigen CeBIT bin ich auf dem Microsoft Stand bei einem Kurzvortrag zu Live Mesh stehen geblieben. Der Sprecher hat dabei ein Foto mit seinem Handy gemacht und demonstriert wie schnell das Foto über die neue Microsoft Cloud mit seinem Laptop synchronisiert wird. “Schnell” war dabei allerdings relativ, was meiner Ansicht nach nicht unbedingt an Microsofts Dienst liegt, sondern vielmehr an den häufig in solchen “Ballungsräumen” zur Verfügung stehenden Bandbreite sowie den immer Leistungsstärker werdenden Kameras in Handys. Ich habe den Handy Markt zwar nicht 100% im Blick, gehe aber davon aus, das mein Handy mit (immerhin) 3.2 Mega Pixel wahrscheinlich nicht mehr zu den Top-Kamera-Modellen gehört.

 

Kannte man bisher Kameras mit GPS Empfänger nur aus dem hochpreisigen Digitalkamerabereich, so findet man GPS Funktionalitäten auch immer häufiger in aktuellen Handys. Eigentlich als Pocket-Navi angedacht, verbinden jedoch immer mehr Hersteller die in einem Gerät zur Verfügung stehenden Dienste miteinander. Bei einigen Herstellern stehen Benutzern diese Funktionen allerdings erst nach ein paar Tweaks zur Verfügung.

Die so erstellen Fotos weisen nun also nicht nur eine hohe Qualität auf, sondern sind zusätzlich mit einer Reihe von Metadaten bestückt. Diese Metadaten werden innerhalb des EXIF Standards definiert, und können neben den GPS Daten auch noch Informationen wie Datum und Uhrzeit, Brennweite, Belichtungszeit usw. aufnehmen.

Da der SQL Server 2008 nun auch mit räumlichen/geographischen Daten umgehen kann und die neue Filestream Data Funktionalität lockt auch mehr BLOB Daten über den SQL Server zu speichern/verwalten, stellte sich mir die Frage, “Wie bekomme ich jetzt meine geocodierten Bilder mit allen EXIF Daten in den SQL Server?”.

Ich habe hierfür angefangen eine SSIS DataSource “Image Source” zu schreiben und die Version 0.3 bei Codeplex veröffentlicht. Die SSIS Komponente bedient sich dem quelloffenen Projekt Dot Net Library, welches ebenfalls bei Codeplex gehostet wird. Die Library stellt verschiedene Informationen zu Verfügung um eine ganze Reihe an EXIF Daten aus Bildern auszulesen.

SSIS ImageSource         SSIS ImageSource003

Die Komponente liest derzeit alle in einem Verzeichnis liegenden Bilder (JPG/JPEG/TIFF/PNG/GIF) und dazu die ca. 70 EXIF und Datei Informationen und führt diese zusammen mit den Bild als BLOB in den Datenfluss. Derzeit ist die Komponente mit der Version 0.3 Beta noch in einem frühen Status verfügbar. In einer spätere Version soll die Komponenten noch um eine vernünftige GUI erweitert werden.

Bookmark and Share

Freie Komponenten, Komponenten ,

Programmatisches erstellen von SSIS Paketen

4. March 2009

Die SQL Server Integration Services verfügen über eine API zum programmatischen erstellen von DTSX Paketen. In den letzten Monaten war das SSIS Team hier ziemlich fleißig und hat eine Reihe vom Beispielen zu diesem Thema veröffentlicht. In den Beispielen wird neben allgemeinen Informationen zum erstellen von Paketen auch speziell auf einige Transformationen eingegangen. Auch Darren Green hat unter SQLIS.com bereits einiges zu diesem Thema veröffentlicht.

Wer sich eine einfachere API wünscht, der sollte sich mal wieder ein Projekt bei Codeplex anschauen. Laut eigener Aussage des SSIS Teams, könnte die Nutzbarkeit der API nämlich definitiv verbessert werden (schöne Aussage). Aus diesem Grund hat wohl auch Evgeny Koblov, ein Tester innerhalb des SSIS Teams, das Framework EzAPI entwickelt und bei Codeplex veröffentlicht. Das Test Team arbeitet selber schon seit einige Zeit intern mit der EzAPI.
Weitere Informationen mit einigen Beispielen sind ebenfalls auf dem SSIS Team Blog zu finden.

Bei weiterem Interesse sollte man auch mal einen Blick auf die Agenda der European PASS Conference 2009 werfen. Neben vielen anderen guten Vorträgen wird es auch einen Vortrag “Using Metadata Architecture to create SSIS packages programmatically and meet Enterprise Datawarehouse requirements” von Sascha Lorenz geben.

Bookmark and Share

Komponenten, Tools ,