Tweet-SQL

27. August 2011

image

Twitter Clients gibt es mittlerweile eigentlich für alle möglichen “Endprodukte”, ob verschiedene Betriebssysteme, verschiedene Endgeräte oder sogar für die SQL Server Integration Services.

Wer bisher allerdings der Ansicht war Twitter sei nichts für ihn, da es ja nicht per SQL anzusprechen sei und es sich auch nicht in den SQL Server integrieren lässt, der sollte sich nun einmal tweet-sql näher anschauen.

Für £25 bietet Rhys Campbell mit tweet-sql über 90 gespeicherte Prozeduren für den SQL Server 2005-2008 an, mit denen unterschiedliche Twitter-Accounts vollständig über die Twitter API gesteuert werden können. Über die Tweet-SQL Screenshots kann man einen ersten guten Eindruck zur Funktionsvielfalt des Programms erhalten.

Bookmark and Share

Sonstiges, Tools , ,

Biml Teil 6 – Variables & Expressions

7. June 2011

Im 6. und letztem Teil meiner Serie über Biml werden die Variables & Expressions innerhalb der SSIS Pakete ein bisschen näher unter die Lupe genommen. Die bisherigen Teile der Biml Serie sind hier zu finden:

 

Variables

Die Definitionen von Variablen innerhalb der Biml Scripts kann in unterschiedlichen Bereichen wie <Package> oder <DataFlow> über die Collection <Variables> geschehen. Der verwendete Bereich definiert damit auch den Bereich, in dem auf die Variablen zugegriffen werden kann. Eine direkte Definition des Bereichs ist nicht möglich. Alle aus dem SSIS Designer bekannten Eigenschaften können einer Variable als Attribut zugeordnet werden. Ein vordefinierter Wert wird als InnerXML definiert.

   1: <Variables>
   2:    <Variable DataType="Int32" Name="intVar01" Namespace="File">100</Variable>
   3:    <Variable DataType="Int32" Name="intVar02" Namespace="File">200</Variable>
   4: </Variables>

Die einzelnen Werte werden bei der Erstellung des Pakets durch den Biml Parser anhand ihres Datentyps validiert. Ein kleiner Unterschied gegenüber dem BIDS ist, das für den Datentyp DBNull in Biml Script Empty verwendet wird.

 

Expressions

Expressions können auf Paketebene oder auf Taskebene gesetzt werden. Wiederum existiert hier eine Collection <Expressions>, in der die <Expression> definiert werden. Um eine Expression zu setzen, muss ihren genauen Namen kennen und diesen über das Attribut PropertyName definieren. Der Biml Script Parser akzeptiert jegliche Eingaben und führt an dieser Stelle keine Validierung auf die zu setzende Expression durch. Wobei ich hier auch erwähnen muss, dass das BIDS selber die Expressions auch eher schlecht validiert. Erst nach dem Setzen einer Expression und dem Verlassen des Property Dialogs, erscheint eine Fehlermeldung, die leider auch keinen direkten Aufschluss auf die fehlerhaft gesetzte Expression gibt.

SNAGHTML59bf8bd

Wichtig an dieser Stelle ist noch zu erwähnen, dass Zahlen direkt eingegeben werden müssen, Strings jedoch in doppelte Anführungszeichen gesetzt werden müssen. Dies entspricht der genauen Syntax wie auch im Expression Editor im BIDS. Beachtet man dies nicht, erhält man nach dem übersetzen des Biml Script beim Öffnen des DTSX Paketes eine ähnliche Fehlermeldung wie im Screenshot.
Variablen können entsprechend der Expression Syntax mit @[SendMail::Email] angegeben werden, wobei das @-Zeichen die Variable einleitet, SendMail den Namespace der Variable definiert und Email der eigentliche Name der Variable ist.

   1: <Biml xmlns="http://schemas.varigence.com/biml.xsd">
   2:    <Connections>
   3:       <SmtpConnection Name="Example" SmtpServer="mail.example.com" />
   4:    </Connections>
   5:    <Packages>
   6:       <Package Name="Variables" AutoCreateConfigurationsType="None" ConstraintMode="Linear">
   7:          <Variables>
   8:             <Variable DataType="String" Name="Email" Namespace="SendMail">ich@example.com</Variable>
   9:          </Variables>
  10:          <Tasks>
  11:             <SendMail Name="SendMail Example" ConnectionName="Example" FromLine="sender@example.com" ToLine="sender@example.com" Subject="Biml Demo">
  12:                <Expressions>
  13:                   <Expression PropertyName="MessageSource">"DIES IST EIN WERT AUS EINER EXPRESSION"</Expression>
  14:                   <Expression PropertyName="ToLine">@[SendMail::Email]</Expression>
  15:                </Expressions>
  16:                <DirectInput>Dies ist ein Wert aus dem Element DirectInput</DirectInput>
  17:             </SendMail>
  18:          </Tasks>
  19:       </Package>
  20:    </Packages>
  21: </Biml>

 

imageDen Erfolg einer gesetzten Expression kann man dank des BIDS Helper auch direkt im BIDS erkennen.

 

Wer noch mehr über Biml Script erfahren möchte, dem empfehle ich noch einmal die BIML Language Reference von Varigence und den Blog von John Welch, der auch einige Praxisbeispiele jenseits der SSIS zu Biml Script – wie z.B. Creating Tables using Biml and BimlScript - in seiner Serie zu Biml veröffentlicht hat.

Bookmark and Share

Tools , , ,

RSToolKit

2. June 2011

rstoolkit88Vor ein paar Tagen habe ich zusammen mit meinem Kollegen Marcel mit dem RSToolKit ein neues Projekt bei Codplex veröffentlicht.

Das RSToolKit ist ei Programm zur Verwaltung der SQL Server Reporting Services, das bisher sein Dasein auf meiner Festplatte fristete.

Lediglich ein Info-Dialog daraus hat es bisher in meinen SSIS ReportGeneratorTask geschafft.

Aktuell stecken wir noch stark in der Entwicklung einer ersten Beta Version, somit haben wir auch noch kein Release veröffentlicht. Wer sich jedoch die Sourcen herunterlädt, kann das RSToolKit kompilieren und testen.

Bisher haben wir folgende Funktionen eingebaut:

  • gleichzeitiger Verbindungsaufbau zu verschiedenen SQL Server Reporting Services
  • Export von Reports als SQL Server Report
  • Rendern von Reports in alle unterstützten Formate
  • Umbenennen, Löschen, Kopieren und Verschieben von SSRS Objekten
  • Vorschau von Reports
  • Erstellen von Snapshots
  • Anzeige von Eigenschaften aller SSRS Objekte
  • Erstellen neuer Datenquellen
  • Hochladen neuer Reports
  • Ändern von Berechtigungen auf SSRS Objekte
  • Kopieren von Objekten zwischen verschiedenen SQL Server Reporting Services
  • Suche nach SSRS Objekten
  • Suche innerhalb der Reports nach verwendeten Spaltennamen
  • Dokumentation eines Reports mit verwendeten Datenquellen, Abfragen und Spalten

 

Das die aktuelle Version wie gesagt noch nicht einen Beta-Status erreicht hat, sind einige Funktionen noch ein bisschen fehlerhaft. So lassen sich unteranderem derzeit Objekte auf einen anderen Server nur in Unterordner und nicht in das Root Verzeichnis des Servers kopieren und das Drag & Drop innerhalb des TreeViews funktioniert noch nicht 100%.

 

SNAGHTML1edc86ec SNAGHTML1ede983b

SNAGHTML1edf24b1image

image

Die nächste größere Funktion die wir implementieren wollen, ist das Finden fehlerhafte Datenquellen innerhalb von Reports und die Massenzuordnung/-ersetzung von Datenquellen innerhalb von Berichten. Spätestens dann werden wir uns ausgiebig der Fehlerkorrektur innerhalb der GUI widmen und neue Funktionen erst einmal hinten anstellen.

Anregungen, Kommentare und Bugs sind wie immer erwünscht:

Bookmark and Share

Freie Komponenten, Tools , ,