Verbindungsprobleme mit Datenbanken

LocalDB

Die LocalDB-Runtime ist Bestandteil von Microsofts SQL-Server. Sie können diese auf der Edithek-Homepage herunterladen: https://edithek.de/node/1

LocalDB ist eine dateibasierte Datenbank. Das hat den Vorteil, dass alle Daten in einer Datei gespeichert sind. Die Lernmitteldaten befinden sich in der Datei: InventoryLocalDB.mdf Die Schülerdaten befinden sich in dieser Datei: InvSVReplace.mdf

Wenn Sie diese beiden Dateien kopieren, haben Sie eine vollständige Datensicherung des Programms erstellt.

Bei Fehlermeldungen wie in der untenstehenden Grafik empfiehlt sich ein Neustart von LocalDB. Solche Fehler können durch verschiedene installierte SQL-Versionen (2017, 2019, 2022) entstehen. In diesem Fall sollten Sie alle Versionen außer einer deinstallieren.

Sind verschiedene Versionen von LocalDB installiert, wird die älteste Version verwendet. Es kann hilfreich sein, die überflüssigen Versionen zu deinstallieren. Haben Sie von der Edithek-Homepage (https://edithek.de/node/1) die aktuelle Version 2022 von LocalDB heruntergeladen und installiert, können Sie explizit die Verwendung von Version 2022 festlegen.

Es ist ratsam, zunächst die vier Datenbankdateien InventoryLocalDB.mdf, InventoryLocalDB_log.ldf, InvSVReplace.mdf, InvSVReplace_log.ldf aus dem Installationsordner von Inventory auf ein separates Laufwerk zu sichern (kopieren).

Öffnen Sie anschließend die Eingabeaufforderung (Windows-Taste + R, dann “cmd” eingeben) und führen Sie die folgenden Befehle aus:

SqlLocalDB stop MSSQLLocalDB SqlLocalDB delete MSSQLLocalDB SqlLocalDB create MyInstance 16.0

Jetzt sollte Inventory mit der vorhandenen LocalDB-Version starten.

Administrative Befehle für die Eingabeaufforderung, um die installierten Versionen zu erkennen:

sqllocaldb versions zeigt alle installierten Versionen von LocalDB sqllocaldb info sqllocaldb info MSSQLLocalDB sqllocaldb create MyInstance 16.0 setzt die Verwendung von LocalDB 2022

Alternativ kann auch der Verweis auf die Standardinstanz repariert werden:

SqlLocalDB stop MSSQLLocalDB SqlLocalDB delete MSSQLLocalDB SqlLocalDB create MSSQLLocalDB sqllocaldb start MSSQLLocalDB

(Hierbei wird nicht die Datenbank gelöscht, sondern nur deren Verweis im SQL-Server.) Starten Sie anschließend Inventory, um den Verweis erneut zu erstellen.