FileTable - Externe Dateien im SQL Server verarbeiten - ganz einfach

Hallo,

sofern man (als Admin) Zugriff auf einen SQL Server 2012 (oder Neuer) unter Windows Prem (also weder AZURE noch LINUX) hat, (auch in der Express Edition) kann man sehr einfach und bequem FileTable verwenden. Dabei handelt es sich um eine Windows / SQL Server Technologie, die einem ermöglicht, Dateien in einem speziellen Directory im Betriebssystem "ganz normal" zu verwalten (erstellen / ändern / löschen), wobei im SQL Server  eine eigene Tabelle mitführt wird, in der automatisch diese Änderungen mit protokolliert werden, d.h. man hat im SQL Server eine Tabelle, die in Echtzeit - immer und automatisch aktuell - Auskunft über Dateien incl. Pfad gibt.

Was in meinen Augen eindeutig für den FileTable Ansatz spricht (wenn die Grundvoraussetzungen stimmen/gegeben sind), ist der minimalistische Erstellungs- sowie der WESENTLICH geringere Programmieraufwand als mit klassischem VBA Blobs ... (Warum soll ich mich mit ADO Stream o.ä. "rumärgern", wenn der SQL Server mir fast die gesamte Arbeit abnimmt ... <g>)  Zudem: Die "extern" gespeicherten Daten gehen nicht zu Lasten der DB-Größe, die ja bei der Express Edition bekanntlich auf 10 GB limitiert ist.
 
Wenn ich mit externen Dateien in Access zu tun habe, dann meistens in Zusammenhang mit zwei Anwendungsfällen:
a) Der Kunde möchte einem Vorgang/Person eine bestehende Datei (Bild, Dok, Vorlage, etc.) zuordnen
b) Der Kunde erzeugt ein Dokument, (Brief, PDF, Bild, Musikstück ...) das automatisch einem Vorgang zugeordnet werden soll....
In beiden Fällen eignet sich FileTable ganz hervorragend dafür. (PS:In  VBA - Application.FollowHyperlink Me!Pfadname - ist dein Freund)...

D.h. man hat im SQL Server eine stets aktuelle Tabelle mit den Dateinamen incl. Pfad und kann (theoretisch) diese Dateien auch direkt via Blob im SQL Server bearbeiten. 

In Onedrive, im Ordner Filestream, habe ich eine Datei (im Word und PDF Format)  mit weiteren techn. Details dazu hinterlegt. PS: Die Anregungen dazu habe ich mir aus dem Buch "Access und SQL Server" von Minhorst / Jungbluth geholt. (Bei mir Kap. 16 - Ab Seite 439)"

mfg 

Klaus Oberdalhoff