Anwendung von SQL Server zu SQLite wechseln

Wenn Sie ein Abonnement des Magazins 'DATENBANKENTWICKLER' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

Anwendung von SQL Server zu SQLite wechseln

Die aktuelle Beispieldatenbank zu diesem Magazin namens Bestellverwaltung verwendet bisher eine SQL Server-Datenbank gleichen Namens als Datenbank. Nun wollen wir für kommende Beispiele auf SQLite als Datenbanksystem wechsen, da es schlanker und für Beispiele perfekt geeignet ist. In diesem Zuge macht es Sinn, einmal zu betrachten, wie Sie das Entity Data Model für Ihre Datenbankanwendung wechseln und die Anwendung anschließend wie zuvor weiter verwenden können.

Die Ausgangsposition ist also die Beispieldatenbank, die wir in Ausgabe 6/2016 zuletzt aktualisiert haben und die per Ribbon die Bearbeitung von Kunden ermöglicht. Wie können wir für diese Datenbankanwendung, die auf einem Entity Data Model auf Bais der SQL Server-Datenbank Bestellverwaltung basiert, ein Entity Data Model auf Basis einer anderen Datenbank eines anderen Datenbanksystems erstellen?

Als Erstes fügen wir, weil wir mit SQLite arbeiten wollen, mit dem NuGet-Paket-Manager das Paket System.Data.SQLite zum Projekt hinzu (Vorgehensweise hierzu und Details zu den folgenden Schritten siehe Artikel SQLite als Backend).

Prüfen, ob SQLite-Provider da ist

Die nächsten Schritte probieren Sie zunächst einmal aus, um zu ermitteln, ob der SQLite-Provider verfügbar ist – falls ja, entfernen wir vor dem tatsächlichen Hinzufügen des Entity Data Models auf Basis der SQLite-Datenbank anschließend erst das vorhandene Entity Data Model. Zum Testen fügen wir über den Dialog Neues Element hinzufügen (Menüeintrag Projekt|Neues Element hinzufügen) ein neues Entity Data Model namens BestellverwaltungEntities hinzu. Beim Schritt Wählen Sie Ihre Datenverbindung aus klicken Sie auf Neue Verbindung... und finden dann den Dialog aus Bild 1 vor, der den erwarteten SQLite-Eintrag nun eventuell nicht anzeigt.

Der SQLite-Provider fehlt.

Bild 1: Der SQLite-Provider fehlt.

In diesem Fall gehen Sie wie folgt vor:

  • Öffnen Sie die Datei App.config.
  • Suchen Sie den folgenden Eintrag und entfernen Sie den kursiv gedruckten Teil:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
   ...
   <system.data>
     <DbProviderFactories>
       <remove invariant="System.Data.SQLite.EF6" />
       <add name="SQLite Data Provider (Entity Framework 6)" ...           type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Aktuell im Blog
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen,... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen,... [mehr]