SQL Server-Verbindungen per Backstage verwalten

Wer in Access mit verknüpften SQL Server-Tabellen arbeitet, kennt das Problem: Die Verbindungszeichenfolge muss korrekt zusammengesetzt sein, Treiber und Authentifizierungsart müssen stimmen – und bei jeder neuen Datenbank fängt man von vorn an. Dieser Artikel zeigt, wie Du einen eigenen Tab im Backstage-Bereich von Access einrichtest, der Dir das Zusammenbauen der Verbindungszeichenfolge abnimmt.

Weiterlesen

Access und SQL Server-FileTables

Im Artikel ” Access und SQL Server-FileTables” (www.vbentwickler.de/489) haben wir gezeigt, wie man einer SQL Server-Datenbank eine sogenannte FileTable-Tabelle hinzufügt, in der man Dateien speichern kann, die gleichzeitig in einem vom SQL Server verwalteten Verzeichnis liegen. Im vorliegenden Artikel kommt nun Microsoft Access als Frontend ins Spiel, mit dem wir nicht nur die Dateien in der FileTable-Tabelle im SQL Server verwalten wollen, sondern wir möchten diese am Beispiel von Bilddateien auch in Access-Formularen anzeigen. Letzteres ist leicht realisierbar, denn wir können dem Bild-Steuerelement einfach den Pfad zu der jeweiligen Datei in dem von SQL Server verwalteten Bereich des Dateisystems zuweisen. Etwas aufwendiger ist es, erst einmal über Access an diese Daten in der FileTable-Tabelle zu gelangen. Wie dies gelingt und wie wir die darin gespeicherten Dateien letztlich verwalten können, zeigen wir auf den folgenden Seiten.

Weiterlesen

SQL Server-Migration: Anpassen des VBA-Codes

Wenn Du Deine Datenbank zum SQL Server migriert hast, also alle Tabellen in einer SQL Server-Datenbank liegen und mit dem Frontend verknüpft sind, kannst Du ohne Probleme über die Tabellenverknüpfungen auf die Tabellen im SQL Server zugreifen. Wenn Du jedoch per VBA, speziell mit den Methoden OpenRecordset und Execute, auf diese Tabellen zugreifen möchtest, kann es zu Fehlermeldungen kommen. In diesem Artikel erläutern wir, welche Fehler dies sind, warum sie auftreten und wie Du Deine Datenzugriffe auf die Tabellen der SQL Server-Datenbank so anpasst, dass sie fehlerfrei laufen. Außerdem schauen wir uns eine Besonderheit an, die beim Anlegen neuer Datensätze mit der AddNew-Methode des Recordset-Objekts auftritt – und schließlich gibt es noch eine Besonderheit bei Formularen, die wir ebenfalls berücksichtigen.

Weiterlesen

SQL Server-Datenbank von Access aus updaten

Wenn wir eine Access-Anwendung mit SQL Server-Frontend an einen Kunden ausgeliefert haben, müssen wir sicherstellen, dass Updates problemlos funktionieren. Updates haben hier zwei Seiten: Einerseits kann das Access-Frontend um neue Funktionen erweitert werden, andererseits können diese Funktionen eine Anpassung der SQL Server-Datenbank erfordern. Das Aktualisieren der Access-Datenbank erfolgt im einfachsten Fall durch einfaches Ersetzen der .accdb-Datei. Beim Backend wird es ein wenig aufwendiger: Wir können es nicht einfach ersetzen, da die enthaltenen Daten im laufenden Betrieb bearbeitet wurden. Hier gibt es nun zwei Wege: Wir lassen uns ein Backup des Backends zukommen, aktualisieren es und spielen es anschließend wieder ein. Wenn die Anwendung bei mehreren Kunden verwendet wird, ist dies jedoch zu aufwendig. In diesem Fall können wir das Backend aber auch automatisch durch entsprechenden Code in der neuen Version des Frontends aktualisieren lassen. Wie das gelingt, zeigen wir in diesem Artikel.

Weiterlesen

SQL Server-Datenbanken vergleichen mit VS.Code

Es gibt verschiedene Gründe, zwei Datenbanken miteinander zu vergleichen. Wenn uns zwei Versionen einer Datenbank vorliegen, unterscheiden diese sich gegebenenfalls und wir möchten herausfinden, welche die aktuellere ist. Bei der Gelegenheit kann man auch gleich noch prüfen, welche Unterschiede zwischen den Datenbanken es überhaupt gibt. Damit eröffnen sich praktische Möglichkeiten: So können wir etwa ein Skript erstellen lassen, welches die Unterschiede zwischen zwei Versionen einer Datenbank aufzeigt. Damit erkennen wir nicht nur die Unterschiede selbst, sondern können das Skript sogar nutzen, um die ältere der beiden Datenbanken auf den aktuellen Stand bringen. Das ist hilfreich, wenn wir eine beim Kunden befindliche Datenbank aktualisieren wollen. Wir erstellen dann einfach ein Skript mit den Unterschieden und führen es beim Kunden aus, damit er die aktuellste Version der Datenbank erhält. Für das Ermitteln der Unterschiede gibt es verschiedene Werkzeuge, etwa die SQL Server-Tools für Visual Studio Code, die leichtgewichtige Entwicklungsumgebung von Microsoft. In diesem Artikel zeigen wir, wie dieses installiert wird und wie wir die SQL Server-Tools aktivieren und nutzen, um die Unterschiede zwischen zwei Datenbanken in einem Skript zusammenzustellen.

Weiterlesen

Code-Snippets im SQL Server Management Studio

Es gibt Code-Snippets, die man immer wieder verwendet – sei es, um Tabellen, Views oder gespeicherte Prozeduren zu erstellen, Tabellen oder Indizes zu definieren und vieles mehr. Vielleicht nutzt Du auch verschiedene System-Befehle, um verschiedene Aktionen im Abfragefenster auszulösen, um beispielsweise Informationen zur Datenbank zu ermitteln. Solche Snippets hast Du vielleicht in einer Textdatei gespeichert, um sie jederzeit in das Abfragefenster kopieren zu können. Es gibt jedoch eine viel mächtigere Möglichkeit, solche Code-Snippets zu nutzen: Das Abfragefenster bietet nämlich die Möglichkeit, Code-Snippets per Kontextmenü einzufügen. Das Beste daran ist: Wir können sogar eigene Code-Snippets definieren, die darüber ausgewählt und eingefügt werden können. In diesem Artikel schauen wir uns an, wie wir diese Funktion nutzen können und wie wir sogar eigene Code-Snippets in diesem Menü verfügbar machen können.

Weiterlesen

Access-Datenbank zum SQL Server migrieren

Für die Migration der Tabellen einer Access-Datenbanken in eine SQL Server-Datenbank erledigt man am einfachsten mit einem von Microsoft bereitgestellten Tool namens SQL Server Migration Assistant. Diesem übergeben wir den Namen der zu migrierenden Datenbank, wählen die Tabellen und Abfragen aus, die zum SQL Server übertragen werden sollen und starten dann die Migration. Dies überträgt legt eine neue Datenbank im SQL Server an und überträgt die gewählten Tabellen und Abfragen von Access zum SQL Server. Mit dem SQL Server Migration Assistant können wir außerdem direkt Tabellenverknüpfungen zu den neu erstellten Tabellen in der Access-Datenbank anlegen, sodass wir grundsätzlich direkt mit der Access-Anwendung weiterarbeiten können – mit dem Unterschied, dass die Daten nun nicht mehr aus den Access-Tabellen kommen, sondern vom SQL Server. In diesem Artikel zeigen wir die grundlegende Verwendung des SQL Server Migration Assistants, wobei wir erst einmal eine Datenbank verwenden, deren Tabellen und Felder sich ohne größere Probleme zum SQL Server übertragen lassen.

Weiterlesen

SQL Server: Tabellen per VBA verknüpfen

Wenn Du die Tabellen einer Access-Datenbank mit dem SQL Server Migration Assistant zum SQL Server migriert hast, ist der Großteil einer SQL Server-Migration bereits geschafft. Allerdings stehen noch weitere Arbeiten wie das Anpassen des VBA-Codes, Abfragen, Formularen und Berichten bevor. Eine andere, wichtige Aufgabe ist das Sicherstellen der Funktion der Tabellenverknüpfungen. Diese wurden, wenn die richtige Option im SQL Server Migration Assistant markiert wurde, bereits initial angelegt, während die Original-Tabellen der Access-Datenbank umbenannt wurden. Wie aber stellen wir sicher, dass die Tabellenverknüpfungen auch nach dem Ändern des Tabellenentwurfs im SQL Server aktuell bleiben? Das erläutern wir in diesem Artikel.

Weiterlesen

SQL Server-Zugangsdaten sicher speichern

Im Artikel “SQL Server: Tabellen verknüpfen” (www.vbentwickler.de/485) haben wir gezeigt, wie wir die Tabellen eines SQL Servers per ODBC als Tabellenverknüpfung in Access-Datenbanken verfügbar machen können. Dabei gibt es zwei Varianten, um über entsprechende Verbindungszeichenfolgen auf die Tabellen des SQL Servers zuzugreifen: Windows-Authentifizierung und SQL Server-Authentifizierung. Bei der ersten werden die Zugangsdaten über den aktuellen Windows-Benutzer ermittelt. Dieses Kennwort kennt in der Regel nur der Benutzer und die Verknüpfung der Tabellen kann nach seiner Anmeldung am Rechner ohne weitere Interaktion erfolgen. Bei der SQL Server-Authentifizierung jedoch müssen zusätzlich die Zugangsdaten des Benutzers zum SQL Server angegeben werden. Damit der Benutzer diese nicht immer manuell eingeben muss, möchten wir diese sicher speichern – so, dass niemand diese auslesen kann, auch wenn er Zugriff zum Rechner des Benutzers hat. Wie das gelingt, zeigen wir in diesem Artikel.

Weiterlesen

Dateien im SQL Server speichern mit FileTables

In Access gibt es verschiedene Möglichkeiten, Dateien zu speichern. Diese kann man zum Beispiel in Anlagefeldern ablegen, oder man belässt die eigentlichen Dateien im Dateisystem und notiert in den Tabellen lediglich den Pfad zu den Dateien oder auch nur die Dateinamen. Welche Variante man wählt, hängt letztlich von der Menge und der Größe der Dateien ab, sprich: vom benötigten Speicherplatz. Der ist nämlich in Access-Datenbanken auf zwei Gigabytes begrenzt. In SQL Server-Datenbanken sieht dies ganz anders aus. Selbst bei Verwendung der kostenlosen Express-Edition dürfen die einzelnen Datenbank-Dateien bis zu zehn Gigabytes an Platz auf der Festplatte einnehmen. Auch hier gibt es verschiedene Varianten zum Speichern der Dateien. Die erste ist, die Dateien in varbinary(max)-Feldern zu hinterlegen. Oder man nutzt dazu sogenannte Filetables. Hier werden die Dateien in einem speziell dazu vorgesehenen Bereich der Festplatte abgelegt, aber unter die Kontrolle des SQL Servers gestellt – und gleichzeitig über einen speziellen Typ von Tabelle verwaltet. Wie das gelingt, zeigen wir in diesem Artikel.

Weiterlesen