Entwickler-Ecke
Datenbanken - IB: Datei in einer Datenbank
UGrohne - Do 13.02.03 21:38
Titel: IB: Datei in einer Datenbank
Wie speichere ich eine Datei (ist eine PDF) in einem BLOB-Feld der Datenbank (IB) ???
Ich krieg das irgendwie net auf die Reihe... sorry
Gruß
Moderiert von
Tino: Satz entfernt.
bis11 - Do 13.02.03 22:26
Warum speicherst Du nicht einfach einen Link in die DB ? Ist doch viel einfacher als alles andere.
UGrohne - Do 13.02.03 23:21
Hmm, wenn das von Vorteil wäre, würde ich das ja machen. Aber das Problem ist, dass die Dateien von mehreren Rechnern in Verbindung mit anderen Datensätzen verfügbar sein müssen. Denn so wäre sie ja nur auf einem Client und schließlich werden diese Daten auch aufgrund von Daten aus der DB erzeugt.
Gruß
bis11 - Do 13.02.03 23:28
Und wenn Du die PDF's alle auf den Server stellst ? Dann kann jeder Client darauf zugreifen, Du hast die Inhalte nur einmal, belegst keinen doppelten Speicherplatz und Du hast alles zentral, was vielleichter zu administrieren ist.
UGrohne - Do 13.02.03 23:46
Warum kleinerer Admin-Aufwand? Seh ich ganz anders: Ein Anwender, der das ganze in seinem Betrieb aufstellt, will das Teil nicht administrieren, sondern einfach einsetzen. Wenn ich die Dinger aufm Server speichere, brauch ich ne Dateifreigabe und es muss bei jedem Client eingestellt werden, wo die PDFs gespeichert werden.
Und das mit dem doppelten Platz versteh ich auch net: Die PDF wird vom Programm generiert (mit Daten aus der DB), und nicht lokal gespeichert, sie soll sofort in der DB landen!
Sagt mir doch einfach wie's geht! :roll:
Gruß
foxy - Fr 14.02.03 08:52
guden
Ugrohne also ich habe mir darüber auch schon lange gedanken gemacht .... ich bin auch gerade an einem IB-Server dran, indem ein datensatz auch dateien enthalten sollte ... ich habe mich aber entschlossen, die dateien in einem ordner im netz ab zu legen, und dann den programmpfa speichern und diese dateien einfach mit ShellExecute aufrufen..... es ist ja wohl kein Problem, das du das anwender freundlich codest.... sag einfach beim datensatz edit, das wenn der anwender eine lokale datei in den datensatz anhängen möchte diese dein programm in den entsprechenden pfad kopiert und diese URL dann im datensatz speichert !!! so hab ich das mal gemacht
UGrohne - Fr 14.02.03 10:14
Es gibt dann aber noch ein Problem: Die Sicherung. Hab ich alles in der Datenbank, kann ich einfach eine Komplettsicherung machen, wenn ich noch Dateien auf dem Server hab, müssen die auch noch dazugepackt werden... ist auch wieder Aufwand.
Kann mir denn nicht einfach einer sagen, wie's geht? Ich brauch einfach nur den Code, um mit Hilfe eines IBDataset eine Datei in einem BLOB-Feld zu speichern, nur die paar Zeilen.....
Ich habe dieses Thema schon einmal angesprochen, da hätten das alle so gemacht und jetzt auf einmal nicht mehr? Die Dateien sind nur 7-8kB groß!
Gruß
Lemmy - Fr 14.02.03 10:53
Hi,
doch ich sags Dir:
Erzeuge im zugehörige DataSet im Feldeditor alle Felder (RMT auf DataSet und dann Feldeditor, RMT auf Feldeditor und alle Felder hinzufügen).
Jetzt kannst Du mit
NameDerDataSetNameDesBlob.LoadFromFile() arbeiten, wobei NameDerDataSetNameDesBlob der Name des Blob-Feldes ist.
Das speichern von Dateien in einer DB wird fast vergleichbar leidenschaftlich diskutiert, wie die Disskussion um das bessere BS.
Nachteil: es werden relativ große Dateien in der DB gespeichert was dazu führt, dass diese sehr schnell groß wird -> Sicherung dauert lange, evtl. gibts Probleme bei großen Datenbanken, weil das BS so große Dateien nicht unterstützt.
Der Vorteil: Einfache Handhabung, einfach Sicherung, alles ist kompakt.
Grüße
Lemmy
UGrohne - Sa 15.02.03 18:31
| Lemmy hat folgendes geschrieben: |
Erzeuge im zugehörige DataSet im Feldeditor alle Felder (RMT auf DataSet und dann Feldeditor, RMT auf Feldeditor und alle Felder hinzufügen).
NameDerDataSetNameDesBlob.LoadFromFile() arbeiten, wobei NameDerDataSetNameDesBlob der Name des Blob-Feldes ist.
y |
OK, das erste versteh ich irgendwie net ganz, glaub ich. Hab alle Felder im Feldeditor eingefügt.
Aber ich bekomm immer "Nicht im Bearbeitungsmodus". Ich glaub ich mach das was mit der IBDataset.Kompo falsch, kann das sein?
Gruß
hansa - Sa 15.02.03 19:36
Ist das DataSet active, oder nicht ?
Lemmy - Sa 15.02.03 19:44
Hi,
hast Du die IBDataset korrekt mit der DB verbunden (IBDatabase, IBTransactio)? Sind alle SQL's korrekt (schalte die DataSet mal auf active=?
Grüße
Lemmy
UGrohne - Sa 15.02.03 23:10
Sie ist richtig verbunden, ich hab ein Grid dabei, darin kann ich auch die Daten schön editieren.... *grml*
Gruß
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!