AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PDF-Dokumente in eine Datenbank oder nicht

Ein Thema von RWarnecke · begonnen am 20. Jan 2015 · letzter Beitrag vom 22. Jan 2015
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 00:29
Die Anzahl der Dateien in einem Verzeichnis muss begrenzt sein, da es den Ganzzahldatentyp "Unendlich" noch nicht gibt.

Und wer noch den Explorer unter Windows benutzt? 99% aller Anwender würde ich sagen. Ich kenne nur eine Person, die den Total Commander benutzt, aber nur weil diese Person beruflich eine Lizenz besitzt (und sie auch privat nutzt). Davon abgesehen hängt die maximale Anzahl von Dateien nicht vom verwendeten Dateiexplorer ab, sondern vom zugrundeliegenden Dateisystem.

https://social.msdn.microsoft.com/Fo...n-einem-ordner
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (21. Jan 2015 um 00:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 04:44
Ich habe mal vor einiger Zeit mit der Version, dass die PDF's in der Datenbank gespeichert werden herumexperimentiert. Damals habe ich nur eine Firebird 2.1 Datenbank benutzt. Ich habe noch so in Erinnerung, dass das Speichern und dann das Öffnen keine Problem dargestellt hat. Nur wurde aus irgendeinem Grund ein Datensatz gelöscht, hat die Firebird Datenbank Ihre ursprüngliche Dateigröße beibehalten und wurde somit natürlich größer wenn noch weitere Dateien in der Datenbank geschrieben wurden. Ist das mittlerweile nicht mehr so oder gibt es hier für Firebird jetzt einen Befehl, womit ich die Dateigröße der Datenbank wieder reduzieren kann, nachdem ein Dokument gelöscht wurde ?

Wie sieht das ganze bei anderen DBMS aus ? Habe ich hier das gleiche Problem wie bei Firebird ?

Aus den oben genannten Experimenten und dessen Erfahrungen geht meine Tendenz dazu, dass die Dateien in einem Verzeichnis gespeichert werden und in der Datenbank nur der Dateilink steht. Wobei die letzten Posts mir gezeigt haben, dass ich sicherlich mehr Vorteile habe, die Dateien in einer Datenbank zu speichern. Ich bin aber immer noch von keiner der beiden Varianten so richtig überzeugt.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 05:09
Zitat:
Wie sieht das ganze bei anderen DBMS aus ? Habe ich hier das gleiche Problem wie bei Firebird ?
Genauso, den Vergrößern/Verkleienern der Datenbankdatei bedeutet Aufwand. Die Datei kann man aber durch Backup/Restore/ShrinkDB verkleinern.

Das würde ich aber nicht als Problem ansehen, da der datenbankbestand ja tendeziell größer wird und der nächste Insert im frei gewordenen Platz erfolgt.
Markus Kinzler

Geändert von mkinzler (21. Jan 2015 um 05:12 Uhr)
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#4

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 06:47
Zumindest bei Firebird wird eine Datenbank mit dem Schreiben nur größer.
Mit dem Löschen frei gewordener Speicher wird nicht an das OS zurück gegeben aber beim Einfügen neuer Datensätze verwendet.

Zum eigentlichen Problem.
Ich würde die Dokumente in der Datenbank speichern.
1. Diese sind besser geschützt, da Zugriffsrechte vergeben werden können.
2. Backup, Archivierung u.s.w. sind einfacher handelbar und im laufenden Betrieb möglich.
3. Wenn notwendig könnte eine Zugriffsverwaltung die Nutzung loggen.
4. Im Netzwerk einfacher handelbar als ein freigegebenes Filesystem.
5. Zugriff von unterschiedlichen Plattformen/Betriebssystemen einfacher möglich.
6. In einigen Bereichen (z.B. Röntgenaufnahmen) ist die Abspeicherung in einer Datenbank aus Sicherheitsgründen gesetzlich vorgeschrieben.
Nur so kann eine Datei gegen Manipulation oder Verlust geschützt werden.

Gruß Peter
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
542 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 06:55
Die Beantwortung dieser Frage hängt auch von der Architektur der Applikation ab.
Handelt es sich nämlich um eine Multitier Anwendung in welcher der Client keinen direkten Zugriff auf die Datenbank hat macht es sehr wohl Sinn die Dateien separat zu speichern. Denn als Blob abgelegt müssten diese dann pro Anfrage ebenfalls durchgereicht werden. Wir lösen dies immer so dass wir die Dateien auf einem Webserver (kann auch innerhalb des Serverdienstes laufen) ablegen. Dann wird dem Client immer nur der Link mitgeteilt. Der Zugriff kann dann auch (http-) Passwortgeschützt erfolgen - so dass nur die Applikation das Dokument abrufen kann. Die Übertragung der Datei kann sogar verschlüsselt erfolgen (SSL).
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 06:57
Das zusätzlich Ablegen ist aber nicht nötig, den man kann das Dokumnet auch direkt aus der Datenbank an den Client Streamen.
Markus Kinzler
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
542 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 07:16
Das zusätzlich Ablegen ist aber nicht nötig, den man kann das Dokumnet auch direkt aus der Datenbank an den Client Streamen.
Hmhh..
Deshalb habe ich geschrieben: "Wo der Client keinen direkten Zugriff auf die Datenbank hat". Im Umfeld wo wir Software machen sind Datenbankzugriffe ab Client verboten
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 11:14
Aus den oben genannten Experimenten und dessen Erfahrungen geht meine Tendenz dazu, dass die Dateien in einem Verzeichnis gespeichert werden und in der Datenbank nur der Dateilink steht. Wobei die letzten Posts mir gezeigt haben, dass ich sicherlich mehr Vorteile habe, die Dateien in einer Datenbank zu speichern. Ich bin aber immer noch von keiner der beiden Varianten so richtig überzeugt.
Letzendlich ist es doch so, dass jede Variante ihre Vor- und Nachteile hat. Man kann das noch zu tode diskutieren, doch, das komfortable an dieser Situation ist, dass keine Variante eine Einbahnstraße darstellt. Wenn du jetzt mit Dateien beginnst, und irgendwann mal feststellst, dass eine DB-Lösung doch intelligenter oder praktischer wäre, dann ist doch ein kleines Tool das die Dateien in die DB aufnimmt und die Änderung der Anzeigelogik mit wirklich sehr wenig Zeitaufwand schnell geschrieben. Und umgekehrt genauso. Wenn es die DB aus welchen Gründen auch immer nicht oder nicht mehr bringt, dann switcht man einfach um auf externe Dateien.

Schön, wenn das Programmiererdasein immer so einfach wäre
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 12:32
Ich habe die Erfahrung gemacht, daß die Datenbank (genügend Speicherplatz vorrausgesetzt) sich gut für Dokumente eignet, die nicht mehr "gebraucht" werden. Dokumente die noch bearbeitet werden (können/sollen/müssen) sind auf Fileservern besser aufgehoben. Wobei hier natürlich auch ein wenig organisiert werden muß,z.B. Verzeichnisnamen, die sich an Aktennummern orientieren. Die mehr oder weniger freie Zugänglichkeit ist gleichzeitig das große Risiko, eine Fehlbedienung und die Dateien sind futsch.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

AW: PDF-Dokumente in eine Datenbank oder nicht

  Alt 21. Jan 2015, 12:57
Letzendlich ist es doch so, dass jede Variante ihre Vor- und Nachteile hat. Man kann das noch zu tode diskutieren, doch, das komfortable an dieser Situation ist, dass keine Variante eine Einbahnstraße darstellt. Wenn du jetzt mit Dateien beginnst, und irgendwann mal feststellst, dass eine DB-Lösung doch intelligenter oder praktischer wäre, dann ist doch ein kleines Tool das die Dateien in die DB aufnimmt und die Änderung der Anzeigelogik mit wirklich sehr wenig Zeitaufwand schnell geschrieben. Und umgekehrt genauso. Wenn es die DB aus welchen Gründen auch immer nicht oder nicht mehr bringt, dann switcht man einfach um auf externe Dateien.
Mmh, darüber habe ich noch nicht so genau nachgedacht, das ja ein Switch zwischen Datenbank und Verzeichnis für die Ablage von PDF-Dokumenten recht einfach sein kann, wenn man bei der Programmierung gleich entsprechend aufpasst. Und dann noch die Dateien entweder ins Verzeichnis oder in die Datenbank migrieren, wäre ja auch mit einem kleinen Tool schnell erledigt. Der Gedanke hat irgendwie Scharm, da muss ich mal weiter drüber nachdenken.


SQL-Server (ab Version 2012) bietet die FileTables, was eine Kombination von beidem ist.
Das hört sich zumindest mal interessant an. Da werde ich mal ein wenig nach recherchieren.
Kleiner Tipp von mir.
Kaufe Dir die MS-SQL2012 developer Edition (liegt so bei 60 Euro).
Das ist die vollwertige Enterprise Edition mit der Einschränkung das Du sie nicht produktiv nutzen darfst.
Danke für den Tipp, aber ich bin im Microsoft Developer/Partner-Programm. Da habe ich Zugriff auf alle SQLServer Varianten, dass stellt ein Problem dar.


Das sind alles schonmal gute bis sehr gute Hinweise. Darüber werde ich jetzt mal nachdenken und ein paar Tests durchführen mit den unterschiedlichen Datenbanksystemen und bei eventuellen Fragen nochmal melden.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz