AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

Ein Thema von urs.liska · begonnen am 5. Feb 2005 · letzter Beitrag vom 8. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#1

Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 5. Feb 2005, 22:23
Hallo DPler,

hat jemand schon mal Erfahrungen mit Delphi-programmierten "Blob Filtern" bei Firebird bzw. Interbase gemacht?
Ich bin eher zufällig darauf gestoßen, weil ich auf der Suche nach einer Lösung für mein Problem bin, rtf-Felder in plaintext-Felder umzuwandeln (Thread).
Für das konkrete Problem sind diese Filter wohl nicht geeignet, aber grundsätzlich ist es eine sehr interessante Sache.

Leider habe ich keine Anleitung/Hilfe/Doku gefunden, die sich nicht auf C oder C++ bezieht (in "The Firebird Book" wird man auf die IB6.0-Doku verwiesen und die zielt auf C-Programmierer ab). Und ehrlich gesagt ist die ganze Angelegenheit mit UDFs und Blobs für mich noch so suspekt, dass ich diese Hürde nicht so einfach nehmen kann.

Es wäre also toll, wenn mir jemand einen Hinweis auf geeignete Lektüre für Delphi-Programmierer geben oder mir direkt ein paar Verständnishilfen zum Thema Funktionsdeklaration und Datenübernahme der Blobs geben könnte.

MfG
Urs

P.S. für die, die nicht wissen, was Blobfilter bei Firebird sind
(vielleicht interessiert sich ja dann jemand dafür, beschäftigt sich damit und kann mir dann auf die Sprünge helfen):
Blobfilter sind spezielle UDF-Sonderfälle, die immer dann implizit aufgerufen werden, wenn Firebird es mit verschiedenen Blob Subtypes zu tun hat.
Wenn man also eine Spalte A mit Blob Subtype -1 und eine Spalte B mit Blob Subtype -2 hat und etwa "UPDATE tabelle SET A = B" aufruft, wird B automatisch in Typ A umgewandelt.
Was man wohin umwandelt, hat man völlig in der Hand (man muss natürlich den entsprechenden Algorithmus zur Hand oder entsprechende Programme aufrufbar haben). Ein paar Möglichkeiten:
XML->RTF, HTML, Word...
Kommentierter Quelltext->Dokumentation
Deutsch->Englisch...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 6. Feb 2005, 02:16
Eventuell könnte bei FIBplus so was drin sein. Dieser Tage kam eine email wegen neuem FIBplus 6.1 und ich erinnere mich noch, daß zumindest die Wörter Blob-Filter und UDF darin vorkamen. Leider wurde die email aber nach einmaligem Lesen sofort vernichtet. Da der Entwickler Russe ist, ist die Unicode-Unterstützung relativ weit vorangeschritten. Und wenn ich das sehe, wie die mit Zeichensätzen usw. hantieren, dann könnte ich mir vorstellen, daß sich dies auch auf Blobs auswirkt.

Nun verstehe ich allerdings überhaupt nicht, was du da vor hast und wozu ein Blob-Filter gut sein soll, aber wie gesagt, zumindest das Wort kam in der mail vor.
Gruß
Hansa
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#3

Re: Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 6. Feb 2005, 08:51
Hallo Hansa,
danke für den Tipp, werde dem mal nachgehen.

Blob-Filter sind ein Mechanismus zur impliziten Typumwandlung.
Wenn ich z.B. den Subtype -10 als "rtf" festlege und einen Blob-Filter von "subtype -10 zu subtype 1(text)" programmiere, kann ich z.B. Folgendes machen: In einer Stored Procedure deklariere ich eine Blob-Variable vom Subtyp 1. Der Befehl "SELECT rtf_feld FROM tabelle into :plaintext_blob" ruft dann implizit den Blob-Filter auf und konvertiert das Blob aus Datenbank- und Applikationssicht transparent.
Denkbar wäre auch, eine gespeicherte Grafikdatei in verschiedenen Grafikformaten auszulesen (denkbar ist alles, was mit Blob-Konvertierung zu tun hat und mit Delphi zu machen ist).

Ich hoffe, das vermittelt einen Eindruck davon, was man mit Blob-Filtern tun kann. Letztlich nichts, was nicht auf anderem Wege auch zu machen ist; aber ich finde es eine sehr elegante Lösung.

MfG
Urs
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 7. Feb 2005, 06:05
Hi urs,

also von Blob-Filtern habe ich bisher nichts gehört oder gelesen (so weit bin ich mit dem Buch noch nicht), aber es hört sich verdammt gut an. Wenn ich diese Woche mal Zeit habe, schaue ich mir die Doku mal an...

Grüße
Lemmy
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#5

Re: Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 7. Feb 2005, 07:15
@Hansa:
FIBPlus bringt leider nichts, Blob-Filter sind dort etwas anderes
Trotzdem danke fürs Aufpassen.

@Lemmy:
Das wäre prima. In "Helen's Book" wird leider zur Programmierung gar nichts gesagt, sondern eben auf die InterBase-Dokumentation verwiesen.
Ich habe das entsprechende Kapitel mal angehängt...

MfG
Urs

[Edit]. Zweites Kapitel angehängt [/Edit]
Angehängte Dateien
Dateityp: pdf blob-filter-seiten_aus_apiguide_117.pdf (205,4 KB, 17x aufgerufen)
Dateityp: pdf blob-filter-seiten_aus_embedsql_760.pdf (214,2 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

Re: Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 7. Feb 2005, 11:49
Zitat von Hansa:
Eventuell könnte bei FIBplus so was drin sein. Dieser Tage kam eine email wegen neuem FIBplus 6.1 und ich erinnere mich noch, daß zumindest die Wörter Blob-Filter und UDF darin vorkamen. Leider wurde die email aber nach einmaligem Lesen sofort vernichtet. Da der Entwickler Russe ist, ist die Unicode-Unterstützung relativ weit vorangeschritten. Und wenn ich das sehe, wie die mit Zeichensätzen usw. hantieren, dann könnte ich mir vorstellen, daß sich dies auch auf Blobs auswirkt.
Hast du irgendwie zu heiß geduscht heute? Neuronen mögen Temperaturen über 42° nicht sehr gerne.

Zitat von Hansa:
Nun verstehe ich allerdings überhaupt nicht, was du da vor hast und wozu ein Blob-Filter gut sein soll, aber wie gesagt, zumindest das Wort kam in der mail vor.
Ich würde mal grob schätzen, dass er BinaryLargeOBjects filtern will.
Eine Idee wäre eine ÙDF, die einen BLOB und einen String schluckt. In der UDF kannst du ja dann den Suchtext im BLOB suchen und als Rückgabewert meinetwegen die Position ausspucken.
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#7

Re: Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 7. Feb 2005, 11:55
Zitat von Robert_G:
Zitat von Hansa:
Nun verstehe ich allerdings überhaupt nicht, was du da vor hast und wozu ein Blob-Filter gut sein soll, aber wie gesagt, zumindest das Wort kam in der mail vor.
Ich würde mal grob schätzen, dass er BinaryLargeOBjects filtern will.
Eine Idee wäre eine ÙDF, die einen BLOB und einen String schluckt. In der UDF kannst du ja dann den Suchtext im BLOB suchen und als Rückgabewert meinetwegen die Position ausspucken.
Ne, das will ich nicht. Das wäre ungefähr das, was man auch mit FIBPlus oder IBO machen kann.
In meinem zweiten Post dieses Threads habe ich versucht zu erklären, was Blob-Filter bei Firebird sind.

Urs
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 7. Feb 2005, 12:06
Zitat von urs.liska:
Ne, das will ich nicht. Das wäre ungefähr das, was man auch mit FIBPlus oder IBO machen kann.
In meinem zweiten Post dieses Threads habe ich versucht zu erklären, was Blob-Filter bei Firebird sind.
Ok, so weit bin ich mit FB auch noch nicht.
Ich dachte ihr hängt euch immer noch an solchen Problemchen auf.
FB kennt ja zum Bsp. kein CLOB (CharacterLargeOBJect) in dem man mit "like" suchen kann.
Schlagt mich wenn mein Informationsstand schon lange überholt ist...

Was du da ausgegraben hast klingt aber interessant, solange es keine Performancefalle ist.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 7. Feb 2005, 12:12
HI,

@Robert: Eine Performace-Falle ist das nur, wenn der Programmierer des Filters nen Fehler macht )

Ich habe die DOku mal kurz überflogen. Grundsätzlich scheint das Teil wie ne UDF zu funktionieren, d.h. man definiert den Blobfilter, dieser Filter übergibt den Input-Blob an die Filterfunktion, dort kannst Du dann damit anstellen was auch immer du machen willst und schickst das Ergebnis wieder zurück zum Filter.

Ich werde mir das zuhause mal anschauen, wird aber ien paar Tage dauern....

GRüße
Lemmy
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#10

Re: Firebird/Interbase Blobfilter Doku/Tut auch für Delphi?

  Alt 7. Feb 2005, 13:02
Zitat von Lemmy:
Grundsätzlich scheint das Teil wie ne UDF zu funktionieren, d.h. man definiert den Blobfilter, dieser Filter übergibt den Input-Blob an die Filterfunktion, dort kannst Du dann damit anstellen was auch immer du machen willst und schickst das Ergebnis wieder zurück zum Filter.
Das stimmt soweit, mir ist nur nicht klar, was ich mit den verschiedenen "Filter-Aktionen" machen muss (ob ich also für die acht Aktionen jeweils einen Code-Abschnitt schreiben muss). Auch verstehe ich nicht, was genau passiert, wenn ein Blob in mehreren Segmenten geladen werden soll. Mir scheint, die Filter-Funktion wird für jedes Segment einzeln aufgerufen - keine Ahnung, wie damit umzugehen ist...
Zitat von Lemmy:
Ich werde mir das zuhause mal anschauen, wird aber ien paar Tage dauern....
Würde mich freuen
Urs

P.S. Ich habe jetzt noch einen weiteren Beispielcode gefunden, der die Sache etwas klarer werden lässt. Trotzdem bin ich leider nicht in der Lage, das nach Delphi zu übersetzen. Vieles geht ja, aber bei manchem bin ich doch sehr unsicher.
  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 16:18 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