CyTRooo: Bilder in MySQL-DB speichern

heyo!

Bitte wie speichert man mit nem Perl Script Bilder in einer MySQL-DB ab bitte?
Nicht die URL's sondern die Bilder selber.

  1. Welche Feldtypen
  2. wie auslesen den Source des Bildes mit Perl
  3. wie wieder anzeigen beim Auslesen

Sind Beispiele vorhanden?

Dankeeee!
     CyTRooo

  1. Hallo CyTRooo,

    gibt es einen Grund Datein in einer DB zu speichern?

    Gruß aus Berlin!
    eddi

    1. Hi,

      gibt es einen Grund Datein in einer DB zu speichern?

      selbstverstaendlich - damit man nicht zwei Datenbasen hat, zum Beispiel.

      Guss,
      Ludger

      1. Hi Ludger,

        gibt es einen Grund Datein in einer DB zu speichern?
        selbstverstaendlich - damit man nicht zwei Datenbasen hat, zum Beispiel.

        gibt es darüberhinausgehende Überlegungen, die einem Bezug vom Filesystem gegenüber Vorteile mit sich bringen?

        Gruß aus Berlin!
        eddi

        1. Hi,

          gibt es darüberhinausgehende Überlegungen, die einem Bezug vom Filesystem gegenüber Vorteile mit sich bringen?

          ja, man bekommt BLOBs mit den Mitteln eines RDBMS besser zu packen, was Abfragen der Metadaten angeht. Zudem muss man sich nicht mit den FS rumaergern.

          Gruss,
          ludger

          1. Hello,

            gibt es darüberhinausgehende Überlegungen, die einem Bezug vom Filesystem gegenüber Vorteile mit sich bringen?

            ja, man bekommt BLOBs mit den Mitteln eines RDBMS besser zu packen, was Abfragen der Metadaten angeht. Zudem muss man sich nicht mit den FS rumaergern.

            Man hat auch das volle Rechtesystém zur Verfügung, dass ja auch bei MySQL bis auf Feldebene reicht. Da dies aber hier wahrscheinlich sowieso nur 1% der MySQL-Verwender benutzt, wäre es mir zu müßig die Vorteile zu erläutern ;-)

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
          2. Hallo Ludger,

            ja, man bekommt BLOBs mit den Mitteln eines RDBMS besser zu packen, was Abfragen der Metadaten angeht. Zudem muss man sich nicht mit den FS rumaergern.

            google hat mir dabei geholfen BLOBS als Binary Large Object und RDBMS als Relationales Datenbank-Management-System zu identifizieren. BLOBS sind also die Daten einer Bilddatei. Aber was ganz genau ist ein RDBMS?

            man bekommt BLOBs mit den Mitteln eines RDBMS besser zu packen

            Bitte erkläre Dich DB-DAU-feruntlich :)

            Gruß aus Berlin!
            eddi

            1. Hi,

              man bekommt BLOBs mit den Mitteln eines RDBMS besser zu packen

              Bitte erkläre Dich DB-DAU-feruntlich :)

              es gibt da zwei Glaubensrichtungen:
              Die einen sagen, dass BLOBs nicht relational zu speichern sind, weil (blaBla, Performanceueberlegungen)
              Die anderen muessen Geld verdienen fuer die Abnehmer und haben festgestellt, dass, wenn das RDBMS geeeignet ist, BLOBs sehr wohl relational zu halten sind, weil dann eben nur eine Datenbasis (natuerlich weniger Aufwand als bei n Datenbasen) zu verwalten ist und zudem der Zugriff auf die Metadaten komfortabel, also nichts uebers Filesystem, erfolgen kann.

              Gruss,
              Ludger

              PS: Die Arguente der ersten Gruppe ich verkuerzt dargestellt.

              1. Re:

                man bekommt BLOBs mit den Mitteln eines RDBMS besser zu packen

                Bitte erkläre Dich DB-DAU-feruntlich :)

                es gibt da zwei Glaubensrichtungen:
                Die einen sagen, dass BLOBs nicht relational zu speichern sind, weil (blaBla, Performanceueberlegungen)
                Die anderen muessen Geld verdienen fuer die Abnehmer und haben festgestellt, dass, wenn das RDBMS geeeignet ist, BLOBs sehr wohl relational zu halten sind, weil dann eben nur eine Datenbasis (natuerlich weniger Aufwand als bei n Datenbasen) zu verwalten ist und zudem der Zugriff auf die Metadaten komfortabel, also nichts uebers Filesystem, erfolgen kann.

                Also ein Nachteil, wenn man auf die Performance schielt und ein Vorteil wenn man sich als DB-Experte vor einem Kunden präsentieren will?

                Gruß aus Berlin!
                eddi

                --
                POST SCRIPTA SIND UNÜBERLEGTE HANDLUNGEN IM KONTEXT EINES HTML-FORMULARS!
                1. Hi,

                  Also ein Nachteil, wenn man auf die Performance schielt und ein Vorteil wenn man sich als DB-Experte vor einem Kunden präsentieren will?

                  exakt!

                  Gruss,
                  Ludger

        2. Hello,

          gibt es einen Grund Datein in einer DB zu speichern?
          selbstverstaendlich - damit man nicht zwei Datenbasen hat, zum Beispiel.

          gibt es darüberhinausgehende Überlegungen, die einem Bezug vom Filesystem gegenüber Vorteile mit sich bringen?

          Eigentlich ist das bei guten SQL-Datenbanken egal, wenn man das BLOB beim normalen Select ausspart, da es dann auch nicht angesprochen werden muss und auch nicht den Speicher blockiert.
          Anders z.B. bei MS-ACCESS mit JET-Engine. Da würde das Objekt sogar noch seine Applikation anziehen und das "DBMS" steht.

          Bei MySQL auf der passenden Plattform hätte ich auch keine Bedenken mehr, da die 4GByte-Tabellengröße gesprengt ist. Wenn Du aber mit den 4GByte auskommen musst pro Tabelle, erübrigt sich die weitere Diskussion bei freigegebnenen Bildgrößen von alleine.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. Moi Moin,

            gibt es einen Grund Datein in einer DB zu speichern?
            selbstverstaendlich - damit man nicht zwei Datenbasen hat, zum Beispiel.

            gibt es darüberhinausgehende Überlegungen, die einem Bezug vom Filesystem gegenüber Vorteile mit sich bringen?

            Eigentlich ist das bei guten SQL-Datenbanken egal, wenn man das BLOB beim normalen Select ausspart, da es dann auch nicht angesprochen werden muss und auch nicht den Speicher blockiert.

            Für mich ist das ein zusätzlicher Dienst, der Systembelastung erzeugt; nebst Applikation (z. B. Perl). Damit wäre ein "egal" kein Vorteil.

            Anders z.B. bei MS-ACCESS mit JET-Engine. Da würde das Objekt sogar noch seine Applikation anziehen und das "DBMS" steht.

            Was heißt das (vielleicht an einem Detail erklärt)?

            Gruß aus Berlin!
            eddi

            1. Hello,

              Anders z.B. bei MS-ACCESS mit JET-Engine. Da würde das Objekt sogar noch seine Applikation anziehen und das "DBMS" steht.

              Was heißt das (vielleicht an einem Detail erklärt)?

              Nee. Das probier mal schön selber aus.
              Bau Dir eine Access-Datenbank mit einer Tabelle, die ein OLE-Objekt enthält.
              Dann siehst Du, was ich meine.

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
  2. Hello,

    • Datenbankserververbindung herstellen
    • Datenbank auswählen
    • Auf Bildformat überprüfen
    • maximal gewünschte Größe des Streams (Strings) überprüfen
    • Daten escpapen für die Schnittstelle
        (sonst zerschießen die vielen Sonderzeichen und NULLen den Inswert-Befehl)
    • Daten in ein BLOB-Format speichern

    und gut ists.

    Sag ich einfach mal so, denn PERL kann cih so gut wie Kühe Kirchturmklettern

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau