Alle Artikel über "Datenbank"

Kein Excel – kein Problem

- - IT

Excel  ist ein fantastisches Tool, hat aber auch fantastisch viele Schwächen. Viele davon resultieren nicht etwas aus Excel selbst, sondern schlichtweg aus der falschen Anwendung bzw. dem „Missbrauch“ von Excel. Dieser Artikel befasst sich mit Anwendungen, wann Excel nicht verwendet werden sollte und mit möglichen Alternativen.

Generation Excel

Excel war über Jahre hinweg das Tool für Zahlen und Tabellen. Die relativ einfache Bedienung, die Möglichkeit Dokumente schnell und unkompliziert weiterzugeben sowie die hohe Verbreitung machten es zum ultimativen Tool für zahlenaffine Benutzer.

Insbesondere die einfache Handhabung und der leicht verständliche Formelsyntax (=SUMME(…)) machten Excel auch unter Anwendern sehr beliebt.

Excel hat auch heute noch seine Daseinsberechtigung – nur nicht für alles.

Excels Schwächen

Für folgende Anwendungszwecke sollte man die Finger von Excel lassen:

Um Daten zu transportieren

„Ich liefere Ihnen die Daten in Excel, in Ordnung?“ – ein Satz der vielen Administratoren Albträume beschert, denn Excel war niemals dafür gedacht „Daten zu transportieren“. Die einfache Bedienung von Excel ermöglicht nämlich gleichzeitig auch eine Reihe von Fehlern:

  • Formatierungen im Spalten
  • Leerschläge
  • Falsche Zahlen (z.B. Punkt anstelle von Komma)
  • Falsche Datenformate (Excel stellt z.B. 0005 auf einmal als 5 dar…)
  • Unterschiedlich breite / hohe Spalten
  • Versteckte Zellen / Formatierungen

Anders ausgedrückt; Excel hat – als reines Transportmittel viel zu viele Möglichkeiten. Weit bessere Optionen dazu sind etwa reine Textformate wie CSV, XML oder JSON.

Um Daten aufzubewahren

Ein gespeichertes Excel ist relativ sicher – bis zu dem Zeitpunkt an dem sich ein Nutzer entschliesst es zu öffnen. Wie leicht verschieben sich dabei Zeilen oder Spalten – und ganz neue Berechnungen entstehen „ganz plötzlich“?  Oder was, wenn eine Exceldatei einen Bezug zu einer anderen Exceldatei enthält? Eine Umbenennung, ein Verschieben – und nichts geht mehr!

Gerade in Hinblick auf Big Data ist Excel schlichtweg ungeeignet um Daten zu lagern; zu sperrig, zu fehleranfällig und zu wenig kongruent – und bei Beschädigungen auch immer nur sehr schwer wieder zu reparieren.

Um Daten auszuwerten

Excel erfordert in der Regel keine konsistente Dateneingabe, d.h. jeder Benutzer kann sich nach Herzenslust austoben; der eine benennt eine Spalte vielleicht als Jahresübersicht, dem anderen ist Jahresüberblick viel genehmer. Nach was sucht man nun?

Oder was passiert, wenn anstelle eines Excelblattes auf einmal 20 vorhanden sind? Oder 50? Oder 200? Wie durchsucht man so viele so unterschiedlich strukturierte Daten schnell und erfolgreich?

Mit Excel eine Herkulesaufgabe – die oftmals damit endet, dass man die Exceldateien in andere Formate oder Datenbanken migrieren muss.

Um Daten anzupassen

Es kann immer einmal vorkommen, dass man alte Daten anpassen muss. Vielleicht hat sich eine Kostenstelle geändert, vielleicht muss ein Name oder eine Adresse ergänzt werden. Wie erledigt man das mit Excel?

Suchen und ersetzen ist eine Möglichkeit – die aber meistens eher schadet als dass Sie nützt. Und gerade wenn viele (10+) Dateien angepasst werden müssen bleibt einem nur wenig Spielraum für eine schnelle Lösung.

Um Daten gemeinsam zu erfassen

Excel ist kein Teamplayer. Zwar können einzelne Exceldateien für andere Nutzer freigegeben werden – die praktische Nutzung ist aber alles andere als ideal. Zu leicht entstehen Duplikate, ungewollte Änderungen und falsche Berechnungen.

Auch das „Zusammenführen“ von unterschiedlich bearbeiteten Exceldateien ist selten erfolgreich.

Um Daten weiterzuverwenden

Wenn man Daten sammelt, wird man Sie irgendwann auch verwenden wollen. Daten in Excel kann man nur mit Excel weiterverwenden – sonst nicht.

Lagert man Daten aber zentral in einer Datenbank, können Sie mit anderen Daten kombiniert, summiert, gruppiert oder vereint werden.

Ein Abrufen ist mit so ziemlich allem möglich – mit einer App, einer Webseite oder Webservice, einer Software – und natürlich auch wieder mit Excel (als reines Datenbetrachtungstool).

Alternativen

Glücklicherweise hat sich seit den Anfangszeiten von Excel einiges getan. Es gibt genügend Alternativen um obige Fälle effizienter und langfristig besser zu lösen. Oftmals lohnt sich bei genauerem Hinsehen der Einsatz einer Datenbank – doch was bedeutet das eigentlich?

Datenbanken?

Viele Gleiche oder ähnlich aufgebaute Daten gehören in eine Datenbank – und nicht in eine Exceldatei.

Das Problem dabei; Man braucht zu Beginn einen Plan bzw. ein Schema wie diese Daten aufgebaut sind. „Frischfröhliches“ Eingeben von Daten und Erweitern der Datenbank wenn nötig (also Excel-Verhalten) führt meistens zum Chaos.

Excel vs. SQL vs. NoSQL

Wenn man von einer Datenbank spricht, meint man meistens eine SQL – Datenbank. Diese ist durchaus vergleichbar mit einer Exceltabelle – allerdings mit einigen Unterschieden.

Excel

Nehmen wir folgendes Beispiel einer Exceldatei:

Beispiel Excel

Beispiel Preisliste Excel

Wie man sieht, hat sich der Ersteller der Exceldatei grafisch bereits selbstverwirklicht – und auch einige Kommentare zur Handhabung hinzugefügt.

Hübsch aber weder kongruent noch konsistent – solches Verhalten führt langfristig zum (un)kontrollierten Chaos.

SQL-Datenbank

In einer SQL-Datenbank haben wir im Gegensatz dazu nur „reine Informationen“ – ohne Zusatzinfos.

Beispiel SQL

Beispiel Preisliste SQL

Ein weiterer Unterschied zu Excel der auffällt ist die Spalte ID. Diese ist in diesem Fall automatisch, fortlaufend und einzigartig. Wenn man also von der ID 5 spricht, ist sofort klar was gemeint ist.

Zudem enhält die Spalte Stückpreis nur Zahlen – die Anmerkung „Individuell“ aus Excel ist in diesem Fall nicht zulässig, denn dann wären die Daten nicht mehr kongruent (wie soll individuell mit 67 verglichen werden ?)

Dass der Preis für die Hose individuell festgelegt wird, zeigt der Wert 1 (bedeutet in diesem Fall „Ja“) in der Spalte Individuell.

Auch die Spalte Total aus Excel wird nicht benötigt, denn diese Information kann aus Anzahl * Stückpreis live berechnet werden.

NoSQL-Datenbank

Ähnlich aber nicht gleich verhält sich das Beispiel in einer NoSQL – Datenbank:

Beispiel NoSQL

Beispiel Preisliste NoSQL

Auch hier wird ein Index bzw. eine Spalte _id benötigt. Diese ist einzigartig und ermöglicht die exakte Bestimmung einer Zeile.

Im Gegensatz zu SQL müssen hier aber nicht alle Zeilen gleich aufgebaut sein („individuell“ für Hose fehlt).

Welchen Datenbanktyp?

Was beide Datenbankvarianten verbindet ist die Datenverifikation. Ein Nutzer kann so etwa keinen Text in der Spalte Stückpreis oder Anzahl eingeben – in Excel ist das möglich.

Der Hauptunterschied zwischen NoSQL und SQL -Datenbanken ist die Struktur der gelagerten Daten selbst; Hat man viele, gleich aufgebaute Daten dürfte eine SQL-Datenbank besser passen. Sind die Daten immer etwas unterschiedlich, eignet sich eine NoSQL – Datenbank wahrscheinlich besser.

Ganz wichtig – Datenbanken sind wesentlich effizienter in der Lagerung und dem Abruf von Daten. Informationen die man mit Excel in Stunden oder Tagen zusammentragen muss, kann man aus sauber aufgebauten Datenbanken innerhalb von Sekunden extrahieren.

Praxis

Selbstverständlich ist es nicht realistisch für „alles“ eine Datenbank zu verwenden und Excel komplett zu ignorieren.

Sobald man aber mehr als eine handvoll gleich oder ähnlich aufgebaute Exceldateien erstellt und diese vielleicht auch einmal weiterverwenden möchte, lohnt sich die Überlegung Datenbank immer!

Im Gegensatz zu Excel ist man mit einer Datenbank nämlich „gezwungen“ Daten strukturiert und einheitlich abzulegen. Wie ein roter Faden zieht sich diese Struktur quer durch die unterschiedlichsten Datensätze – egal ob Kosten, Adressen oder Texte.

Der anfänglich etwas höhere Initialaufwand lohnt sich spätestens dann, wenn die Daten produktiv ausgewertet oder genutzt werden sollen – garantiert!

 

SQL-Server: Fehler beim Warten auf das Wiederherstellungshandle des Datenbankmoduls

- - IT, Snippets

Nicht immer läuft die Installation des Microsoft SQL Servers  problemlos ab. Wer die Meldung „Fehler beim Warten auf das Wiederherstellungshandle des Datenbankmoduls“ bzw. den Code 0x851A001A als Fehler bei der Installation erhält – so wirds einfach und schnell gelöst!

Der Fehler tritt insbesondere bei der Installation von SQL Server Express (z.B. für PROFFIX) auf – kann aber auch bei anderen SQL Server Versionen auftreten.

Lösung

Bereinigung

Zuerst einmal muss die mit dem Fehler installierte SQL – Instanz deinstalliert werden. Es ist nicht nötig, den ganzen SQL-Server zu deinstallieren(!)

Dazu wechselt man zu den Programmen, wählt den SQL – Server aus (z.B. SQL Server Express 2014) und klickt auf Deinstallieren.

MS SQL Server deinstallieren

(Hinweis:Die Funktion Reparieren hilft bei diesem Problem nicht).

Anschliessend klickt man sich durch den Assistenten und entfernt das Datenbankmodul (und nur das!) der entsprechenden Instanz.

Modifizierte Installation

Anschliessend ist alles bereit für eine neue, leicht modifizierte Installation des SQL-Servers. Ein Neustart ist nicht nötig aber empfohlen.

Bei der Installation der „neuen Instanz“ folgt man wiederum dem Assistenten, bis man zur Eingabemaske Serverkonfiguration kommt.

Hier ändert man den Kontonamen des SQL Server-Datenbankmoduls manuell (d.h. Eingeben oder Copy & Paste) wie folgt ab:

NT AUTHORITY\NETWORK SERVICE

SQL Server Dienst anpassen

Anschliessend kann die Installation abgeschlossen werden; es  sollten keine weiteren Fehlermeldungen auftreten – und auch der SQL – Server Dienst sollte problemlos gestartet werden.

 

Zusammengeführte Zellen in Excel umwandeln

- - Snippets

Datenimporte in eine Datenbank auf Basis von Excelsheets ist immer eine lustige Sache. Inbesondere dann, wenn bspw. zusammengeführte Zellen vorhanden sind, die zwar übersichtlich, für den Import aber problematisch sind.

Zusammengeführte Zellen Excel

Wo liegt das Problem?

Das Zusammenführen in Excel ist vor allem eine grafische Angelegenheit; die oberste Zelle wird lediglich grafisch verlängert, die entsprechenden Werte (in diesem Beispiel die Wochentage) werden nicht übernommen und liegen auch nach dem Zurücksetzen der zusammengeführten Zelle immer noch nur im obersten Feld.

Für einen Import, in dem jede Zeile sämtliche Werte aufweisen muss ist dies denkbar ungünstig. Zum Glück lässt sich das aber mit ein paar Tricks lösen.

Zellen bereinigen

Zuerst sollten einmal sämtliche Formatierungen und zusammengeführten Zellen zurückgesetzt werden (Start > Verbinden und Zentrieren). Das Beispiel sieht dann so aus:

Formatierung Excel zurücksetzen

Werte berichtigen

Excel Werte berichtigenAnschliessend können die fehlenden Werte berichtigt werden. Dazu die entsprechende Spalte markieren.

 

 

 

Excel Inhalte auswählenAnschliessend auf Start > Suchen und Auswählen > Inhalte auswählen klicken und im sich öffnenden Fenster die Checkbox Leerzeilen auswählen.

 

Nun sollten nur noch die leeren Einträge in der Spalte A markiert sein.

 

 

Excel Merged Cells_berichtigenDie so markierten Zellen können nun automatisch mit dem übergeordneten Wert versehen werden. Dazu einfach auf der Tastatur „=“ eingeben und die Taste aufwärts drücken. Anschliessend mit Enter + Ctrl bestätigen (Wichtig!)

 

 

Das Endergebnis, das leicht weiterverarbeitet werden kann, sollte dann in etwa so aussehen:

Excel Merged Cells Endergebnis

SQL Server does not support the language of the OS

- - IT, Snippets

Wenn man SQL Express 2012 oder die entsprechenden Vorgängen installieren möchte, und die Meldung „This SQL Server setup media does not support the language of the OS…“ ist die Lösung bereits im Error enthalten. Die Sprache passt nicht – oder doch?

SQL Server not support anguageWichtig ist vor allem, dass man die zum System passende SQL Express Version installiert, d.h. Deutsche Sprache = Deutsche Installationsdatei, Englische Sprache = Englische Installationsdatei. Doch was wenn die Meldung immer noch erscheint – wie in diesem Fall hier?

 

Die Lösung ist zum Glück recht einfach. Es braucht weder das Ändern eines Registryeintrages noch das manuelle Anpassen des Installationsfiles (was einige anscheinend versuchen…) sondern lediglich einen temporären Workaround.

 

Workaround

SQL Server not support language solution

In den Systemeinstellungen die Standardsprache Deutsch (Schweiz) auf Deutsch (Deutschland) setzten, SQL Express ohne Fehler installieren und die Sprache dann wieder zurückstellen. So sollten keine weiteren Komplikationen auftreten.

Wichtig! Es reicht nicht, nur die Anzeigesprache auf Deutsch (Deutschland) zu setzen! Sowohl Anzeige- als auch Tastatursprache – evtl. sogar die Region müssen auf Deutsch (Deutschland) eingestellt werden.

Powershell

Anstelle die Standardsprache über die grafische Oberfläche umzustellen, gibt es auch die Variante mit Powershell (insbesondere unter den Server Core Varianten…).

Dazu einfach eine Powershellkonsole öffnen und folgenden Befehl eingeben:

Set-WinUserLanguageList -LanguageList DE-DE

Nach erfolgter Installation kann dann z.B. mit

Set-WinUserLanguageList -LanguageList DE-CH

wieder der Originalzustand hergestellt werden.

ODBC Driver Manager Fehlermeldung

- - IT, Snippets

Fehlermeldung

Beim Versuch eine Verbindung auf eine Datenbank herzustellen, tritt folgende Fehlermeldung auf:

Ursache

Die Ursache des Problems findet sich bereits in der Meldung selbst („Architektur“). Eine 32bit Anwendung kann über einen 64bit ODBC Treiber keine Verbindung zur Datenbank herstellen. Wer ein 64bit Betriebssystem verwendet hat „ab Werk“ die entsprechenden 64bit Treiber vorinstalliert – ein Konflikt ist vorprogrammiert…

 

Lösung

Variante 1

Falls möglich einfach die 64bit Version der Anwendung verwenden. Diese befindet sich im Installationsordner, endet auf .exe und enhält meist die beiden Zahlen „64“  oder „64bit“ (z.B. Software64.exe)

 

Variante 2

Leider gibt es nicht immer eine entsprechende 64bit Version der Anwendung. Deshalb muss der 64bit Treiber mit einer 32bit Version ausgetauscht oder ergänzt werden.
Die entsprechende Konfiguration erfolgt über eine der folgenden .exe’s.

Falls OS = 32-Bit:     C:\Windows\SysWOW64\odbcad32.exe

Falls OS = 64-Bit:     C:\Windows\System32\odbcad32.exe

 

ODBC 32-Bit Treiber hinzufügen

ODBC 32-Bit Treiber hinzufügen

 

 

Über die Schaltfläche „Hinzufügen“ können nun neue Treiber im richtigen Format aktualisiert werden.

Meist genügt das Hinzufügen eines 32-Bit Treibers – der 64-Bit Treiber kann parallel bestehen bleiben. Bei der nächsten Verbindung einfach den entsprechenden Namen verwenden (in diesem Fall „excel32“).