Laden...

FileTable zur Ablage von Zertifikaten geeignet?

Erstellt von steven vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.548 Views
S
steven Themenstarter:in
79 Beiträge seit 2006
vor 6 Jahren
FileTable zur Ablage von Zertifikaten geeignet?

verwendetes Datenbanksystem: SQL2012 Express (noch)

Hallo zusammen,

ich benötige mal eure Hilfe. Und zwar haben wir bei uns in der Firma Geräte die einmal im Jahr zur Kalibrierung verschickt werden müssen.
Zur Zeit wir das alles in einer Excel Tabelle verwaltet und es passiert regelmäßig das die Termine für die nächste Kal. vergessen werden. 8o

Da das natürlich mist ist, gibts da bald ne DB-Anwendung. Eigentlich ganz einfache Sache. Ich hab die Oberfläche fast fertig und der SQL Server verschickt auch schon Mails 30 Tage vor dem Ablaufdatum. Soweit so gut.

Nun aber zum Problem/Frage:

Es sollen auch Zertifikate (in der DB) abgelegt werden. Ich danchte da an eine Filetable. Ich hatte mir das so vorgestellt, dass man im DataGrid per rechtsklick das Dokument einem Datensatz zuordnet.
Wenn ich das richtig verstanden habe muss die Datei dann in den entsprechenden Ordner verschoben werden. (System.IO.File.Move) Kann ich der Filetabel dann die GUID des Datensatzes mitteilen oder lege ich da eine extra Tabelle an mit zwei ID Spalten (DatenTabelle/Filetable). Oder ist die Filetable dafür das falsche Mittel.

Danke schonmal.

Grüße
Steven

16.834 Beiträge seit 2008
vor 6 Jahren

Warum speichert ihr nicht einfach die Zertifikate als Blob / Byte-Array?

FileTables lohnen sich erst bei groesseren Dateien.
Zertifikate sind ja wirklich Mini.

PS: ich hab den Titel so angepasst, dass man wenigstens weiss, worum es in dem Thread geht.
Ein Titel mit "Frage zu XY" erfuellt ja nicht ganz den Sinn.

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo steven,

Es sollen auch Zertifikate (in der DB) abgelegt werden

Nur damit es kein Missverständnis gibt: mit Zertifikaten meinst du hier jene von der Kalibrierung*?
Diese liegen dann als PDF (Scan) vor?

Da diese Dateien i.d.R. nicht recht groß sind, würde ich auch wie von Abt vorgeschlagen, das einfach als byte[] speichern. Ist einfach und direkt umsetzbar, alles direkt in der DB (ist für Backups praktischer), usw.

*

die einmal im Jahr zur Kalibrierung verschickt werden müssen

Kommt drauf an wo die hingeschickt werden -- vllt. ist Eichung gemeint.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

S
steven Themenstarter:in
79 Beiträge seit 2006
vor 6 Jahren

Erstmal danke fürs umbenennen.

Die Zertifikate sind meistens mehrseitige PDFs aber die Anzahl der Datensätze bleibt sehr überschaubar.

Die Zertifikate als Byte Blob speichern. Weiß nich ob das geht, wegen Dokumentationspflicht etc. Die Orginaldateien müssen/solten irgendwie gespeichert werden. Und dann gibts auch backups der dateien.

16.834 Beiträge seit 2008
vor 6 Jahren

Die Aufbewahrungspflicht regelt auch die Aufbewahrungsformen.
Dort ist zwar aufgefuehrt, dass es eine Elektronische Archivierung sein kann; mir waere aber neu, dass dort aufgefuehrt ist, ob es nun Datenbanken oder Ordner sind.

Ich habe aber die Archivierung als Zertifikat anders verstanden.
Du sprichst eigentlich von einer stink normalen PDF Datei. Ob das nun nen Zertifikat ist oder nicht ist fuer die Technik voellig bums.

Alles unter 1 MB kann man locker direkt in die Datenbank als Blob setzen.
Ansonsten ja, File Table und FileStream.

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo steven,

Die Orginaldateien müssen/solten irgendwie gespeichert werden

Ob die als Bytestrom (nichts anderes ist eine Datei) im Dateisystem, Netzlaufwerk, etc. liegen od. als Bytestrom in einer Datenbankzeile sollte in Bezug auf Dokumentationspflicht keinen Unterschied machen. Son sind sie auch sicher und können via DB-Backups (mit-) gesichert werden.

Falls sie jedoch irgendwo auf einem Netzlaufwerk liegen müssen, so kannst du den UNC-Pfad in der DB speichern.
Aber d.h. dann dass sich das Schema von der Netzlaufwerkspeicherung nicht ändern darf -- und das wird sich früher od. später sicher ändern und dann ist die Frage ob diese Änderung auch in der DB nachgepflegt wird.

Daher würde ich das gleich in der DB speichern und auf Nummer sicher gehen.
Wobei ich die Schwelle über 1 MB setzten würde, eher bei 5 MB -- lt. meiner Erfahrung gibt es da keine Probleme wenn diese direkt in der DB sind.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"