AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi BlobStream mit dBase & jpeg
Thema durchsuchen
Ansicht
Themen-Optionen

BlobStream mit dBase & jpeg

Ein Thema von Noch Fragen · begonnen am 2. Okt 2008 · letzter Beitrag vom 2. Okt 2008
Antwort Antwort
Noch Fragen

Registriert seit: 17. Feb 2006
2 Beiträge
 
#1

BlobStream mit dBase & jpeg

  Alt 2. Okt 2008, 14:42
Datenbank: dBase • Zugriff über: SQL
Hallo zusammen,
ich arbeite mit Delphi 4 und versuche, ein jpeg-file in ein Blob-Feld zu speichern. DB ist dBase.
Im DBT-file ist der Platz in der richtigen Größe belegt, aber es ist anscheinend nur Datenmüll. Der Code unten ist so umständlich, weil ich versucht habe, mich Schritt für Schritt einer Fehlerquelle zu nähern. Wer hat hier eine Lösung bzw. (was ich vermute) kann bestätigen, dass es ein Delphi-Fehler ist. Wenn letzteres: in welcher Version arbeitet Blob mit dBase korrekt zusammen? Vielen Dank vorab für die Unterstützung

Martin Jäger


var
JPegImage : TJpegImage;
MyBlobStream : TBlobStream;
MyJPegStream : TMemoryStream;

rQuery.Edit;

JPegImage := TJpegImage.Create;
MyJPegStream := TMemoryStream.Create;

JPegImage.LoadFromFile('Beispiel.jpg');
JPegImage.SaveToStream(MyJPegStream);

MyBlobStream := TBlobStream.Create(TBlobField(DB.FieldByName('M_ST REAM')), bmReadWrite);
MyBlobStream.CopyFrom(MyJPegStream,0);

Image1.Picture.Assign(JPegImage); // Bild wird fehlerfrei angezeigt

rQuery.Post;

MyJPegStream.Free;
MyBlobStream.Free;
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: BlobStream mit dBase & jpeg

  Alt 2. Okt 2008, 14:53
Wenn du Bilder als Blob in einer Datenbank speicherst, sieht das aus wie Datenmüll, da steht nichts lesbares drin. Hast du schon versucht, wieder ein Bild aus dem gespeicherten Blob zu erzeugen?
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

Re: BlobStream mit dBase & jpeg

  Alt 2. Okt 2008, 15:16
Hallo,

schau mal hier: http://wall.riscom.net/books/delphi/del_tis/TI2807.html
oder hier: http://groups.google.de/group/borlan...b3b6c0bd4c3756

Meine mich schwach daran erinnern zu können, dass ich vor Jahr und Tag mal mit Blobs und dBase Probleme hatte, die sich durch Änderungen an der BDE-Konfiguration beheben ließen. Was ich seinerzeit geändert habe, weiß ich nicht mehr. Auf die Schnelle hab' ich per google... nichts dazu finden können.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: BlobStream mit dBase & jpeg

  Alt 2. Okt 2008, 15:35
Musste man da nicht an BlobSize rumspielen? Ich weiß es aber auch nicht mehr genau.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

Re: BlobStream mit dBase & jpeg

  Alt 2. Okt 2008, 15:48
Hallo,
Zitat von DeddyH:
Musste man da nicht an BlobSize rumspielen? Ich weiß es aber auch nicht mehr genau.
jo,

der zweite Eintrag von diesem da http://forums.frontrange.com/viewtopic.php?p=1042 sollte helfen.
  Mit Zitat antworten Zitat
Alt 2. Okt 2008, 15:53     Erstellt von stevejobs
Dieser Beitrag wurde von Phoenix gelöscht. - Grund: Spam ist hier nicht erwünscht.
Alt 2. Okt 2008, 15:57     Erstellt von nahpets
Dieser Beitrag wurde von Phoenix gelöscht. - Grund: Und drauf reagieren sollte man auch nicht.
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#6

Re: BlobStream mit dBase & jpeg

  Alt 2. Okt 2008, 20:44
Bei dBase sind Blobs wenig empfehlenswert. Während DBT-Dateien noch rel. gut dokumentiert sind, gibt es über DBT-Dateien wenig Infos.
Das hat zur Folge, dass nicht jeder DB-Treiber (sei es unter MSDOS oder Windows) MEMO-Felder gut unterstützen.
Ältere dBase-Versionen neigen dazu, die DBT-Datei ständig auszublähen, da immer nur am Ende angefügt wird.
(gelöschte Daten werden nicht automatisch bereinigt)
Es besteht die Gefahr, viele Bilder auf einen Schlag zu verlieren.
Da reicht schon ein Stromausfall und alle Blobdaten sind verstrubelt.

Gerade bei Jpeg oder Gif-Dateien ist es sinnvoller, die Dateien ausserhalb der Datenbank im Dateisystem zu speichern.
Das hat den Vorteil, dass man die Bilder doppelt nützen kann: einerseits als Suche über die Datenbank, andererseits kann man einen Webserver aufsetzen und bekommt so einen 2. Zugang zu den Bildern.
In der Tabelle speichert man nur den Dateinamen ohne Pfad.

DBase hat auch die Eigenheit, Datenmüll in den Dateien anzusammeln.
Datenblöcke in DBT-Dateien werden auf 512 Bytes aufgerundet. Sind die Nutzdaten nicht ein Vielfaches von 512 Bytes, hängt am Ende "Müll" bzw. es sind die Daten, die vorher an dieser Stelle auf der Platte waren.
Das ist ein Sicherheitsrisiko, denn die DBT-Datei enthält dann Fragmente von gelöschten Dateien (Passwort, Konto-nr, Ausschnitte aus Liebesbriefen, ...).
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz