English Deutsch

 

Surrogate-Keys für Parent-Child-Hierarchie mit SSIS erzeugen und Hierarchiestufen ausgeben

Das folgende Szenario bezieht sich auf die Microsoft Demo-Datenbank AdventureWorks 2008. Diese kann auf http://msftdbprodsamples.codeplex.com/ heruntergeladen werden. Die Umsetzung dieses Beispiels erfolgte mit Visual Studio 2008 und SQL Server 2008.

 

Ich möchte in diesem Blogbeitrag erklären, wie man Surrogate-Keys für Parent-Child-Hierarchien und die jeweilige Hierarchiestufe des Mitarbeiters anlegen kann. Dabei hilft uns die Angestellten Tabelle der AdventureWorks Datenbank. Diese findet man unter dem Tabellennamen Employee im Schema HumanResources. Der Mitarbeiter wird über die Spalte EmployeeID identifiziert und der Vorgesetzte über die Spalte ManagerID. Angestellte die keinen Vorgesetzten haben, sind mit entsprechender ManagerID auf NULL gesetzt. Dementsprechend ist der/sind die Mitarbeiter der/die keinen Vorgesetzten hat/haben, die höchste Stufe in unserer Organisation (in unserem Fall also der Chef).

 

Den ganzen Beitrag lesen »

ExecutionValue beim Execute SQL-Task in SSIS

Es gibt einen einfachen Weg um festzustellen, wieviele Zeilen von der Ausführung von SQL-Anweisungen wie DELETE oder UPDATE mit dem Execute-SQL-Task betroffen sind. Dazu kann die ExecutionValue-Property des Execute-SQL-Tasks verwendet werden. Das wird hier am Beispiel einer DELETE-Anweisung vorgestellt. Den ganzen Beitrag lesen »

Kostenstellenhierarchie, Kostenartenhierarchie, Profitcenterhierarchie aus SAP ERP im SQL Server auswerten

In diesem Blogbeitrag möchte ich am Beispiel der Kostenstellengruppen zeigen, wie es möglich ist, die Zusammenhänge von SAP-Datenstrukturen zu erkennen und auf Grundlage dieser Erkenntnisse die Daten so zusammen zu führen, um sie für die Aufbereitung eines Datawarehouse nutzen zu können. Den ganzen Beitrag lesen »

Prüfung auf Nachkommastellen bei Importen (SSIS)

Es gibt Mittel und Wege, Gültigkeitsprüfungen für Gleitkommazahlen innerhalb der Integration Services zu realisieren. Die Überlegungen zum Vorgehen können dabei von einfachen Konvertierungen bis hin zu komplexen Script-Tasks reichen.

In diesem Beitrag möchte ich eine Möglichkeit erläutern, die so simpel ist, dass der ein oder andere vielleicht gar nicht erst daran gedacht hat – frei nach dem Motto: „Ich seh‘ den Wald vor lauter Bäumen nicht“.

Den ganzen Beitrag lesen »

SSIS 2005 Suche-Task – Wo ist meine Spalte?

Wenn kleine Buchstaben groß sein sollten…

Es gibt Bugs, die sind, wenn man sie denn kennt und zu umschiffen weiß, eher amüsant als ärgerlich. Zumeist sind sie längst bekannt und zaubern ein Lächeln ins Gesicht des Eingeweihten, wenn er diesem beim Entwickeln einmal mehr begegnet. Und doch kann es passieren, dass sich ein solcher Bug eben doch nicht überall herumgesprochen hat, was dann oftmals zu Unmut und Verwirrung führt.

Den ganzen Beitrag lesen »

Einfacher mit Performance Monitor Countern in der Leistungsüberwachung arbeiten

Unter Windows Vista, Windows 7 und im Windows Server 2008 sieht ja die Leistungsüberwachung oder “perfmon.exe” etwas anders aus als in den vorigen Versionen. Das Tool ist aber quasi das “Schweizer Messer des Performance Tuning”, so dass man sich eigentlich nicht genug damit beschäftigen kann. Im diesem Text wollte ich nur einfach mal einige schöne Tricks für den einfachen Umgang mit diesem Werkzeug loswerden!

Den ganzen Beitrag lesen »

Vorsicht vor BIDS2008-R2 (Textqualifier _x0222_ )

Ich dachte bisher, SSIS-Projekte, die mit BIDS-2008-Nicht-R2 erstellt wurden, lassen sich problemlos im R2-BIDS öffnen, weiterbearbeiten und dann auch unter beiden SSIS-Runtimes problemlos ausführen. Zumindest würde man (wie bei SSRS-Projekten) einen Hinweis erwarten, falls dem nicht so sein sollte. Antwort ist leider:

Es gibt Probleme, wenn man die Projekte zwischen beiden Versionen hin- und herschiebt…und die sind leider sehr versteckt!

Den ganzen Beitrag lesen »

Jahreswerte auf Monate verlustfrei verteilen – Teil 1

Ich habe wieder ein schönes Beispiel gefunden an der man die Flexibilität der Integration Services demonstrieren kann. Die Aufgabe ist recht einfach: es geht darum, einen Jahreswert mit Dezimalstellen (in unserem Fall ein numeric(6,2), z.B. ein Euro-Wert) gleichmäßig auf 12 Monate zu verteilen. Die Division sollte uns hoffentlich keine Kopfschmerzen bereiten, die Herausforderung liegt darin, dass unser Datentyp nur zwei Nachkommastellen erlaubt und daher viele Werte bei der Division einen Genauigkeitsverlust erleiden würden.
Den ganzen Beitrag lesen »

.NET Excel Interop als Windows Service benutzen

Microsoft stellt mit den InterOp Assemblies für Office Applikationen Klassenbibliotheken zur Automation von Excel Prozessen zur Verfügung. Diese werden in der Regel dazu benutzt Excel Dateien zu lesen oder zu erzeugen.

Da es sich bei Excel jedoch nicht um eine Server Applikation für Hintergrundanwendungen handelt sind bei dem Einsatz dort einige Fallstricke zu umschiffen.

In Folge werden wir einen kleinen Windows Service entwickeln, der in der Lage ist en Verzeichnis zu überwachen, Excel Dateien dort zu lesen, zu modifizieren und sie in ein Ausgabe Verzeichnis zu kopieren. Hierzu müssen Visual Studio, die Microsoft Interop Assemblies als auch Microsoft Excel auf dem Entwicklungssystem installiert sein.

Den ganzen Beitrag lesen »

C#-ExcelButler vs. SSIS-ExcelDestination

Oft stellt sich die Anforderung, Excel-Dateien komfortabel aus Datenbanken befüllen zu können. Als Alternative zur Excel-Destination im SSIS-Paket wurde hierfür die C#-Klasse ExcelButler.cs “entwickelt. Sie enthält Routinen zum Erstellen, Auslesen, Beschreiben und Abspeichern von Excel-Dateien. Sie kann an beliebigen Stellen im Excel-Sheet Werte einfügen, Werte auslesen, Zellen formatieren, Zellen gruppieren und so weiter und bietet damit eine Fülle von Möglichkeiten für das Handling von Excel-Dateien. Den ganzen Beitrag lesen »