Benutzer mit den meisten Antworten
FILESTREAM / FILETABLE

Frage
-
Hallo zusammen,
für ein neues Projekt auf Basis SQL Server 2012 Express bin ich jetzt auf Filestream bzw. auf Filetable gestossen. Den Anwendern soll die Möglichkeit gegeben werden, Dokumente zu Vorgängen abzuspeichern. Wenn ich das [1] jetzt richtig verstanden habe, dann ist FileTable nur eine zusätzliche Option zu FileStream um auch über den Explorer die Dateien verändern zu können. Hab ich das so richtig verstanden?
Die Variante mit FileStream http://msdn.microsoft.com/de-de/library/gg471497.aspx hab ich konfiguriert und kann auch über ADO aus einem Access-Frontend Dateien bzw. dessen Inhalt in der Tabelle abspeichern und wieder korrekt auslesen. Die Dateien sind dann im Dateisystem vorhanden, aber nicht per Doppelklick zu öffnen. Siehe angehängten Screenshot.
BTW: Wenn man mit DELETE FROM tblFiles den Inhalt der Tabelle (112 DS) löscht, dauert es ca. 1 - 2 Minuten, bis die Dateien auch im Dateisystem gelöscht werden. Der SQL-Server braucht wohl etwas länger und löscht auch immer Schubweise. ;)
[1] http://fkrahl.co.de/index.php?/archives/42-SQL-Server-2012-Neue-Funktionen-FILETABLE.html
Vielen Dank schon im Voraus.
ServusWinfried
- Bearbeitet Winfried.Sonntag Dienstag, 16. April 2013 12:52
Antworten
-
Hallo Winfried,
man muss die FileTable nicht verwenden.
Sie setzt auf FileStream auf und solange Du die zusätzlichen Features nicht brauchst, bringt sie nichts.Wobei es ermöglicht, Dokumenten Dateinamen zu geben anstatt nur mit Guids zu jonglieren.
Auch ist das Arbeiten leichter, da man mit "normalen" Befehlen arbeiten kann:
Laden von Dateien in FileTablesGruß Elmar
- Als Antwort markiert Winfried.Sonntag Mittwoch, 17. April 2013 16:57
Alle Antworten
-
Hallo Winfried,
FileTables stellen mehr eine API Kompatibilität her,
das heißt sie können mit der Windows Datei-E/A bearbeitet werden.Damit sind nicht die zusätzlichen Funktionen des Windows Explorer eingeschlossen.
Dessen "Doppelklick-Funktionalität" basiert auf den Assoziationen der Registry,
also Endungen wie "DOC", "DOCX", "XLS", "XLSX" uvm.Das dunktioniert nur, wenn der Dateiname aufgelöst werden kann,
Mehr siehe Store and Index Documents in SQL Server 2012 - An End-to-End Walkthrough
siehe Arbeiten mit Verzeichnissen und Pfaden in FileTablesDort wird u. a. gezeigt wie man die Dateien über den Explorer in die File Table des SQL Servers verfrachtet.
Was das Löschen angeht:
Auch dabei wird über Transaktionen zugegriffen, was naturgemäss mehr Zeit in Anspruch nimmt.Gruß Elmar
-
Am 16.04.2013 schrieb Elmar Boye [MVP]:
Hall Elmar,FileTables <http://msdn.microsoft.com/de-de/library/ff929144.aspx> stellen mehr eine API Kompatibilität her,
das heißt sie können mit der Windows Datei-E/A <http://msdn.microsoft.com/de-de/library/gg492089.aspx> bearbeitet werden.was ich mit meiner Frage kläre wollte, ich kann auch nur mit
FileStream arbeiten, FileTable ist nicht unbedingt dazu nötig, oder?
Bisher konnte ich keine Einschränkungen für mein Projekt feststellen.Was das Löschen angeht: Auch dabei wird über Transaktionen zugegriffen, was naturgemäss mehr Zeit in Anspruch nimmt.
Das dachte ich mir schon, beim ersten Mal war ich nicht so geduldig.
;)Servus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/ -
Hallo Winfried,
man muss die FileTable nicht verwenden.
Sie setzt auf FileStream auf und solange Du die zusätzlichen Features nicht brauchst, bringt sie nichts.Wobei es ermöglicht, Dokumenten Dateinamen zu geben anstatt nur mit Guids zu jonglieren.
Auch ist das Arbeiten leichter, da man mit "normalen" Befehlen arbeiten kann:
Laden von Dateien in FileTablesGruß Elmar
- Als Antwort markiert Winfried.Sonntag Mittwoch, 17. April 2013 16:57
-
Hallo Elmar,
liege ich denn dann richtig, das es im Prinzip, ein einfaches DMS ist?
Grüße,
Stefan Kleinewillinghoefer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwicklern“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden koennen.
-
Hallo Stefan,
ein DMS ist doch etwas mehr - auch wenn der Begriff (marketing-typisch ;) relativ unscharf ist.
Man würde ein [Windows] Dateisystem auch nicht als DMS bezeichnen.Eine FileTable bildet große unstrukturierte Daten (BLOBs) auf das Dateisystem ab.
Sie könnte als Grundlage für ein DMS dienen, z. B. in Verbindung mit der Volltextsuche,
der Ablage von weiteren Informationen (Metadaten) über "konventionelle" Tabellen usw.Gruß Elmar
-
Am 17.04.2013 schrieb Elmar Boye [MVP]:
man muss die FileTable nicht verwenden.
Sie setzt auf FileStream auf und solange Du die zusätzlichen Features nicht brauchst, bringt sie nichts.Vielen Dank, dann hatte ich das schon richtig verstanden. ;)
Wobei es ermöglicht, Dokumenten Dateinamen zu geben anstatt nur mit Guids zu jonglieren.
Auch ist das Arbeiten leichter, da man mit "normalen" Befehlen arbeiten kann:
Laden von Dateien in FileTables <http://msdn.microsoft.com/de-de/library/gg492083.aspx>Das werde ich sicherlich in Zukunft benötigen, danke nochmals. ;)
Servus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/