SQL Server: Fehler bei Entwurfsänderungen

In letzter Zeit habe ich gelegentlich Änderungen an den Tabellen verschiedener SQL Server-Datenbanken vorgenommen. Einige Änderungen dienten der Erweiterung um neue Felder, andere haben Primärschlüssel, Indizes, Beziehungen und andere Elemente angepasst. Die betroffenen Tabellen enthalten teilweise sehr viele Daten, sodass SQL Server recht viel Zeit beanspruchte, die Tabellen zu ändern. Teilweise gab es Fehler, weil Zeitlimits überschritten wurden. Teilweise konnten aber auch neue Beziehungen oder Indizes nicht angelegt werden, weil die Integrität der Daten nicht gegeben war. Dieser Artikel zeigt, welche Einstellungen Sie dann ändern können und welche Ursachen es gibt, wenn all dies nichts hilft.

Weiterlesen

Rechnungsverwaltung auf SQLite umstellen

In der Artikelreihe zum Thema Rechnungsverwaltung haben wir ein Rechnungsverwaltungsprogramm mit SQL Server-Datenbank programmiert. SQL Server ist ein sehr zuverlässiges und gutes System für viele Anwendungen. Wenn wir aber eine kleine Rechnungsverwaltung nutzen wollen, die auch bei Freiberuflern oder Selbständigen ohne SQL Server auf dem Rechner laufen soll, benötigen wir eine Alternative. Hier kommt SQLite ins Spiel: eine sehr leichte Datenbanklösung, die noch nicht einmal eine Installation erfordert. Dieser Artikel zeigt, wir wir eine SQLite-Variante von unserer Rechnungsverwaltung erstellen.

Weiterlesen

Entity Framework: Gespeicherte Prozeduren

Entity Framework bietet die Möglichkeit, mit einer Datenbank zu arbeiten, die lediglich einfache Tabellen enthält. Sie könnten so sämtliche Geschäftslogik in der Anwendung halten. Manch einer mag aber vielleicht Teile der Geschäftslogik in die Datenbank überführen oder, wenn die Datenbank schon existiert, dort belassen, damit diese von verschiedenen Anwendungen aus genutzt werden kann. Ein Beispiel sind Trigger, die bei Datenänderungen automatisch ausgelöst werden, ein anderes sind gespeicherte Prozeduren, über die sie sowohl Daten abfragen als auch anlegen, ändern oder löschen können. Dieser Artikel beschäftigt sich mit den gespeicherten Prozeduren und den Möglichkeiten, die sich unter Entity Framework zu ihrer Nutzung bieten.

Weiterlesen

SQLite Code First mit EF Core

Wir haben bereits einige Male SQLite als Datenbanksystem verwendet. Allerdings hatten wir damals jeweils eine Datenbank mit SQLite erstellt und dann ein Entity Data Model dafür erstellt. In den letzten Ausgaben haben wir uns jedoch in Zusammenhang mit SQL Server-Datenbanken mit Code First-Migrationen befasst, also den Aufbau der Datenbank durch Klassen beschrieben und dann erst die Datenbank erstellen lassen. Das wollen wir nun auch mit SQLite machen, was erstmals durch Entity Framework Core möglich ist. Allerdings sind dazu ein paar Schritte mehr nötig, als es mit dem SQL Server der Fall ist.

Weiterlesen

SQL Server-Datenbank ins Web mit SQL Azure

In einigen vorangehenden Artikeln haben wir gezeigt, wie Sie eine SQL Server-Datenbank auf Basis des Entity Data Models eines Projekts erstellen und unter einem Azure-Konto über eine Webseite veröffentlichen. In diesem Artikel wollen wir uns ansehen, wie Sie eine bestehende SQL Server-Datenbank ohne Entity Data Model als Azure-Datenbank anlegen. Auf diese Datenbank können Sie dann sowohl von Desktop-Anwendungen aus zugreifen als auch von PowerApps, die wir ebenfalls in dieser Ausgabe vorstellen.

Weiterlesen

Unsere aktuellen Beispieldatenbanken haben ein WPF/C#-Frontend, ein SQLite-Backend und das Entity Data Model als Zwischenschicht. Was geschieht nun, wenn wir einmal die Datenbank ändern wollen – etwa, weil wir neue Tabellen oder neue Felder in bestehenden Tabellen benötigen Wie ist die genaue Vorgehensweise, die auch berücksichtigt, dass der Benutzer eine neue Version installieren möchte, ohne die bereits im vorhandenen Backend gespeicherten Daten zu verlieren Wie dies gelingt, zeigt der vorliegende Artikel.

Weiterlesen

SQLite-Datenmodellierung per C#

Wenn Sie eine SQLite-Datenbank von einer WPF/C#-Anwendung aus nutzen, möchten Sie gegebenenfalls einmal Tabellen in dieser Datenbank anlegen, ändern oder löschen oder gar neue Datenbanken mit C# erstellen. Dies kann beispielsweise interessant werden, wenn Sie eine neue Version einer Anwendung ausliefern, aber der Benutzer die Daten in der Datenbank der vorherigen Version weiter nutzen möchte. Dieser Artikel stellt die grundlegenden Vorgehensweisen für diese Arbeitsschritte vor.

Weiterlesen

Entity Framework: SQLite verknüpfen

In den letzten Artikel haben wir oft die SQLite-Datenbank als Beispieldatenbank verwendet. Nun kann es allerdings durch einen falschen Connection-String oder eine verschobene, gelöschte oder leere Datenbank dazu kommen, dass die Anwendung nicht über das Entity Framework auf die Datenbank zugreifen kann. Dieser Artikel beschreibt einige Szenarien, in denen das der Fall ist und zeigt, wie Sie beim Start der Anwendung prüfen können, ob die Quell-Datenbank erreichbar ist und diese gegebenenfalls neu auswählen.

Weiterlesen