Newbie -Bilder Archiviern und wiederfinden ?

Hallo,

es geht um ein Datenbankprojekt.Welches in Oracle9i realisiert werden soll.Alternative Datenbanken wären auch möglich.

Das Projekt soll eine Art Image Archievierung sein.
Das heißt ich hab unmengen von Bildern sprich JPEG oder anderes Bildformate.
Diese sollen in der Datenbank verfasst werden und zum finden bereitgestellt werden.
Ist es möglich aus einer CD Bilder in die DB einzulesen ?

Bei diesem Projekt ist das wesentliche das suchen und finden der BIlder.

Über jede HIlfe bin ich sehr dankbar!

Danke!

Hakan

hi!

Ist es möglich aus einer CD Bilder in die DB einzulesen ?

ja

Bei diesem Projekt ist das wesentliche das suchen und finden
der BIlder.

ähem, sind die bilder in der db nur verlinkt oder liegen sie physisch in der db?

jedenfalls ist beides unter oracle möglich - wobei das „suchen und finden“ eine standardfunktionalität jeder db ist …

grüße,
tomh

Hi,

das ist die Frage ob die Bilder in die DB (würde ich aber wahrscheinlich aus Performancegründen nicht machen) abzulegen oder nur den Pfad der Datei.
Hatte mir überlegt ein Verzeichnis rekursiv durzusuchen und die gefundenen Bilder in die DB zu speichern.
Wie würdest du das denn mit der CD machen . Also das einlegen der CD und durchsuchen nach Bildern auf der CD??
Dafür gibt es wahrscheinlich ein Skript oder ?!
Als Client dachte ich mir PHP zu benutzen, weil man mit PHP eine gute Verbindung zur DB aufbauen kann.
Oder was meinst du ?!

Danke !

MfG

Hakan

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

danke erstmal für die Tipps.Werde ich jetzt mal so bewerten und ein Prototyp entwickeln.

Wie ist es mit InterMedia für Oracle?
InterMedia definiert ja neue Datentypen um Multimediadaten zu beschreiben.
Als Grunddatentyp wird „ORDSource“ definiert.
ORDSource implementiert die grundsätzliche Speicherung und Verwaltung der Daten in Oracle.

Die verwendeten Datentypen sind im einzelnen:

ORDAudio für Audiodaten -> nicht releveant

ORDImage für Bilddaten -> für mich relevant

ORDVideo für Videodaten -> nicht relevant

CLOB für Textdaten -> nichtrelevant

In diesen Klassen werden Mediendaten und Metadaten gespeichert.

Ich würde dann die Daten extern speichern mit einem BFILE.
Hab aber gelesen, dass man nur jewéisl bis zu 4 GB an Daten speichern kann.
Wie mache ich das denn bei größerern Mengen ?
Ist es überhaupt sinnvoll InterMeida zu verwenden ?

Hier mal ein Beispiel wie ich es machen würde:

CREATE TABLE Bilder(
Bildername VARCHAR(50),
größe INTEGER,
Beschreibung VARCHAR(50),
photo ORDSYS.ORDImage);

Hier soll man die Bilddaten aufnehmen!

DECLARE

Image ORDSYS.ORDImage;

BEGIN

INSERT INTO Bilder VALUES (‚test‘, 240, ‚Test Bild‘,

ORDSYS.ORDImage.init(‚file‘,‚ORDIMAGEDIR‘,‚test.gif‘));

SELECT photo INTO Image FROM Bilder WHERE Bildername = ‚test‘ for UPDATE;

Image.setProperties;

UPDATE Bilder SET photo = Image WHERE Bildername = ‚test‘; COMMIT;

END;

Der Konstruktor (Zeile 5) benötigt nun als Parameter den Pfad, den Dateinamen und das Kennwort ‚file‘ um die Bilddaten mit Hilfe eines BFILE zu speichern. Dabei wird in dem BFILE die Datei test.gif aus dem Verzeichnis ORDIMAGEDIR referenziert. In Zeile 6 wird die entsprechende Zeile in der Spalte photo für ein Update selektiert, in Zeile 7 die Properties des Bildes gesetzt und in Zeile 8 das Update durchgeführt, indem die Daten aus Image in der entsprechenden Zeile in die Spalte photo kopiert werden.

Ich könnte doch ein beliebiges Verzeichnis auswählen also über die Web Applikation z.B. ein Optionsbutton „dursuchen“ und das ausgewählte Verzeichnis rekursiv durchlaufen und jedes gefundene Bild dann in meiner DB also Tabelle speichern oder ???

Ich muss das Projekt umbedingt schaffen und würd mich über jede Anregung und Hilfe sehr freunen.
Natürlich verlange ich nicht das man mir es vorzeigt sondern, diejenigen die schon mal so etwas gemacht haben einige Tipps, ob das so machbar ist wie ich mir das Vorstelle.

Ich würde dann ein in PHP ein Skript ertsllen für die Verbindung in die Oracle Datenbank und ein weiteres vielleicht auch mehrere für das finden und suchen der Bilder .

Viele Grüße
Hakan

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Hakan,

ein bissel spät noch etwas von mir:

Ich habe so ein System für ein Museum gebaut. Wenn Du viele Bilder am Stück einladen willst, kommst Du mit Client/Server einfacher zum Ziel. Ich habs mit Delphi programmiert. Die User können danze Verzeichnisse oder auch nur einzelne Bilder importieren. Zu den großen Originalbildern werden noch zusätzlich kleine Vorschaubilder und Metadaten (Auflösung, Farbtiefe…) generiert. Die Recherche kannste Du ja über einen Webclient machen. Auch hier ist Delphi8 .Net eine gute Wahl, da einfach zu programmieren. Dann bist Du aber an .Net gebunden.

Viel Erfolg
NIc