Friday 30 april 5 30 /04 /Apr. 21:25

Gute, weil vollständige und korrekte Referenzdaten, sind schwierig zu finden; in der Regel kann man sie nur bei kommerziellen Anbieter für einiges an Geld beziehen.

Referenzdaten, die dann auch noch regelmäßig aktualisiert werden und zu allem Überfluss auch noch frei verfügbar sind, sind eine Seltenheit.

Das Verzeichnis für deutsche Bankleitzahlen ist so eine Seltenheit. Sie wird von der Deutschen Bundesbank herausgegeben, ist auf deren Seite frei verfügbar und wird auch quartalsweise aktualisiert. Eine Dokumentation des Dateiformates gibt es auch.

Das Dateiformat ist einfach gehalten, es eine Textdatei und die Spalten haben jeweils eine fester Breite. In dem Fall ist die einfachste Möglichkeit, die Daten zu importieren, mit OpenRowSet und der Bulk Option zu arbeiten. Als ich mir die Dokumentation dazu durchgelesen habe, fiel mir auf, dass zwar ausführlich die Anwendung für zeichengetrennte Formate beschrieben ist inklusive Beispiele, aber in keiner Weise, wie man Daten mit fester Spaltenbreite handhabt. Also Mut zur Lücke, eine Formatdatei definiert ohne Trennzeichen und die Spaltenbreite angegeben; die maximal Breite muss man eh festlegen und siehe da, der Import per BULK funktioniert einwandfrei.

Kleines Problem ist, das der Dateiname „versioniert“ wird, also der Dateiname das Datum der Veröffentlichung beinhaltet. Zwar gibt es fest definierte Regeln, wann das neue Verzeichnis veröffentlicht wird, man kann das Datum errechnen, aber das erschwert den Automatismus, um die Datei per SSIS über FTP / http herunter zu laden, um sie dann weitere zu verarbeiten.

 

Hier nun der Aufbau der Format-Datei und das Statement für den Bulk – Import; die gesamte SSMS Solution gibt es auch zum Download, sie beinhaltet auch das Tabellen Design.

 

Format Datei BLZ_Format.txt:

 

8.0
13
1     SQLCHAR     0     8     ""    1     Blz   ""
2     SQLCHAR     0     1     ""    2     BlzFuehrend ""
3     SQLCHAR     0     58    ""    3     Bezeichnung ""
4     SQLCHAR     0     5     ""    4     Plz   ""
5     SQLCHAR     0     35    ""    5     Ort   ""
6     SQLCHAR     0     27    ""    6     Kurzbezeichnung   ""
7     SQLCHAR     0     5     ""    7     InstitutsnummerPAN      ""
8     SQLCHAR     0     11    ""    8     Bic   ""
9     SQLCHAR     0     2     ""    9     PruefzifferMethode      ""
10    SQLCHAR     0     6     ""    10    Nummer      ""
11    SQLCHAR     0     1     ""    11    Aenderung   ""
12    SQLCHAR     0     1     ""    12    Loeschung   ""
13    SQLCHAR     0     8     "\n"  13    NachfolgerBlz     ""

 

Das SQL Statement für den Import über OpenRowSet.

 

-- Daten einfügen
INSERT INTO [BLZ].[dbo].[Blz]
           ([Blz]
           ,[BlzFuehrend]
           ,[Bezeichnung]
           ,[Plz]
           ,[Ort]
           ,[Kurzbezeichnung]
           ,[InstitutsnummerPAN]
           ,[Bic]
           ,[PruefzifferMethode]
           ,[Nummer]
           ,[Aenderung]
           ,[Loeschung]
           ,[NachfolgerBlz])           
SELECT [Blz]
      ,CONVERT(tinyint, [BlzFuehrend]) AS BlzFuehrend
      ,RTRIM([Bezeichnung]) AS [Bezeichnung]
      ,[Plz]
      ,RTRIM([Ort]) AS [Ort]
      ,RTRIM([Kurzbezeichnung]) AS [Kurzbezeichnung]
      ,CONVERT(int, CASE WHEN [InstitutsnummerPAN] = ''
                         THEN NULL
                         ELSE [InstitutsnummerPAN]
                         END) AS [InstitutsnummerPAN]
      ,CASE WHEN [Bic] = '' 
                 THEN NULL
                 ELSE [Bic] END AS [Bic]
      ,[PruefzifferMethode]
      ,CONVERT(int, [Nummer]) AS [Nummer]
      ,[Aenderung]
      ,CONVERT(bit, [Loeschung]) AS [Loeschung]
      ,[NachfolgerBlz]
FROM OPENROWSET(BULK N'D:\Projekte\Blz\blz_20100308.txt'
               ,FORMATFILE = N'D:\Projekte\Blz\blz_format.txt'
               ,CODEPAGE = 'OEM' 
               ,ERRORFILE = N'D:\Projekte\Blz\blz_error.txt'
               ) AS Blz
GO
von Olaf Helper - veröffentlicht in: T-SQL - Community: SQL Scripter
Kommentar hinzufügen - Kommentare (0)ansehen
Thursday 29 april 4 29 /04 /Apr. 18:56

Ich hätte ja noch etwas warten können ... nun gibt es die Microsoft Visual Studio 2010 Express Editions auch als deutsche Version im Download.

von Olaf Helper - veröffentlicht in: .NET - Community: Database Administrator - DBA
Kommentar hinzufügen - Kommentare (1)ansehen
Thursday 29 april 4 29 /04 /Apr. 18:34

Im Microsoft Press Blog gibt es das eBook "Introducing Microsoft SQL Server 2008 R2" von den Autoren Ross Mistry und Stacia Misner als kostenlosen Download im XPS und PDF Format.

Entgegen der bisherigen freien eBooks muss man sich nicht per LiveID anmelden und die Verfügbarkeit ist nicht zeitlich beschränkt, zumindest habe ich in der Hinsicht nichts gesehen. 

von Olaf Helper - veröffentlicht in: Free eBooks - Community: Microsoft SQL Server
Kommentar hinzufügen - Kommentare (0)ansehen
Sunday 25 april 7 25 /04 /Apr. 13:17

Microsoft Visual Studio 2010 ist bereits über eine Woche im RTM Status und MSDN Abonnenten können sie herunterladen, mittlerweile auch als deutsch-sprachige Version.

Die Express Edition VS 2010 mit C#, Visual Basic und Web Developer gibt es nun auch zum Download, bisher aber nur in englischer Sprache.

Ich konnte natürlich nicht abwarten, bis eine deutsch-sprachige Version verfügbar ist (wozu auch) und habe mir MS Visual Basic 2010 Express herunter geladen. Es ist wieder ein Web-Installer, der selbst 3,2 MB groß ist. Bei meiner Konfiguration wurden dann 150 MB nachgeladen, auf dem Installationsvolume werden insgesamt 2,3 GB freier Platz benötigt. Eine MS SQL Server Express Instanz kann optimional mit installiert werden; und wie die letzten Male ist es keine "gleiche Version", also kein 2008 R2, sondern 2008 mit SP1.

Auf meinem MS Vista 32-bit Rechner lief die Installation problemlos ab, allerdings war zwischendurch ein Reboot nötig.

von Olaf Helper - veröffentlicht in: .NET - Community: .NET Development
Kommentar hinzufügen - Kommentare (0)ansehen
Friday 23 april 5 23 /04 /Apr. 19:42

Die Express-Edition des Microsoft SQL Server 2008 R2 RTM wurde bereits vor ein paar Tagen veröffentlicht und kann bekanntlich kostenfrei genutzt werden.

Nun gibt es auch die Enterprise Evaluation Edition der RTM zum Download für 32 und 64-Bit Systeme, mit der man 90 Tage lang die große Edition mit allen Features testen kann.

von Olaf Helper - veröffentlicht in: Download MSSQL - Community: Microsoft SQL Server
Kommentar hinzufügen - Kommentare (0)ansehen

Über diesen Blog

Kategorien

Kalender

August 2014
M T W T F S S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
             
<< < > >>

Syndication (RSS)

  • RSS-Feed der Artikel

Suchen

Blog erstellen

Erstellen Sie einen Blog auf OverBlog - Kontakt - Nutzungsbedingungen - Werbung - Missbrauch melden - Impressum - Artikel mit den meisten Kommentaren