Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Dateien aus MS Access in einer MS SQL Datenbank speichern

Begonnen von itaflo, November 04, 2022, 10:59:52

⏪ vorheriges - nächstes ⏩

itaflo

Hallo zusammen,

ich bin im SQL Bereich leider ein absoluter Frischling und möchte generell wissen, ob man Dateien wie z. B. eine Word Datei aus Access heraus in eine SQL Datenbank speichern kann?

Ich bin gerade dabei meine Datenbank auf SQL umzustellen, da die Lokalen Tabellen zu einer sehr schlechten Performance führen mit der Zeit.

Aktuell löse ich es in einem Datensatz mit der Ablagefunktion von Access.

Ich brauche keine konkrete Lösung, sondern nur eine Info, ob das generell geht und wie ich das lösen könnte.

Bitte verzeiht mir meine Unwissenheit.

ebs17

Wenn man den typischen und üblichen Fall betrachtet, dass man von den Dateien nur den Pfad zur Datei in der DB-Tabelle speichert, dann ist die Übertragung gar kein Problem.
Mit freundlichem Glück Auf!

Eberhard

itaflo

Heißt ich gebe in der SQL Datenbank den Dateipfad an, und Speicher es nicht direkt in die SQL Datenbank?

Wie kann ich aber eine direkte Zuweisung zu einem Datensatz gewährleisten, für die entsprechende Datei?


PhilS

#3
Zitat von: itaflo am November 04, 2022, 10:59:52[...] und möchte generell wissen, ob man Dateien wie z. B. eine Word Datei aus Access heraus in eine SQL Datenbank speichern kann?
[...]
Aktuell löse ich es in einem Datensatz mit der Ablagefunktion von Access.
Ja, man kann Dateien im SQL Server speichern. Traditionell würde man dazu eine Spalte für Binärdaten (Varbinary(max)) in einer Tabelle erstellen, moderner und flexibler ist eine FileTable. Binärdaten kann man z.B. mit AppendChunk über ein DAO.Field schreiben.

Die Anlage-Felder von Access werden in dieser Form vom SQL Server nicht unterstützt, weil sie viel interne Funktionalität von Access benötigen. Mit den o.g. Ansätzen kann man sich aber selbst eine ähnliche Funktionalität bauen.

Generell sollte man bedenken, dass SQL-Datenbanken im Wesentlichen nicht dazu gedacht sind Dateien zu speichern und dass es sehr teuer ist, dies zu tun. - Teuer sowohl in Hinblick auf die Ressourcennutzung von RAM und CPU beim Abruf von Dateien, als auch in Hinblick auf die Kosten (Lizenz und Hardware) für den Speicherplatz.

Vorteile davon Dateien im SQL Server zu speichern sind, dass die Dateien direkt in das Berechtigungssystem des SQL Server eingebunden sind und dass man keinen zusätzlichen File-Share braucht, um den Benutzern Zugriff auf die Dateien zu ermöglichen. - Letzteres ist besonders in dezentralen/verteilten Umgebungen interessant.

*Edit: (Vorteil im Vergleich zum Speichern von Dateien im Dateisystem und verlinken zu Datensätzen.)
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor