Announcement

Collapse
No announcement yet.

Eindinden von Bildern in eine SQL-Datenbank

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eindinden von Bildern in eine SQL-Datenbank

    Hallo,

    wie kann ich Bilder in eine SQl-Datenbank laden?

    Ich will hier keine Diskussion über die Sinnhaftigkeit entfachen.
    Es geht grundsätzlich darum, Bilder als Zusatzinformationen zu angelegten Datensätzen anzufügen. Dafür habe ich bereits den Datentyp Blob ausgewählt.
    Nach ersten Recherchen bin ich darauf gestoßen, dass es reichen würde, den Pfad der Bilder in der Datenbank zu speichern. Dafür müssten aber die Bilder auf einem lokalen Rechner gespeiert sein. Problem dabei ist, dass nicht nur ein Rechner auf die Datenbank zugreift.
    Ich hoffe, ihr könnt mir helfen.

  • #2
    Zwei möglich Techniken:

    Das Bild direkt als BLOB in die DB speichern und auch daraus ausliefern

    Nur dem Pfad speichern und das Bild dann so abspeichern, dass die Clients darauf zugreifen können. Das sollte dann nicht der Clientrechner sein. Ev. ein anderer Server oder im Filesystem des DB -Servers......Wie die Clients auf die Bilder dann zugreifen können, hängt davon ab, was realisiert werden soll

    Problem dabei ist, dass nicht nur ein Rechner auf die Datenbank zugreift.
    Das sollte der Normalfall sein...
    Christian

    Comment


    • #3
      Wenn Du nur den Pfad speicherst brauchst Du kein Blob Feld. Ausserdem müssen dann alle Bilder entweder lokal oder über einen (File-)Server im Netzwerk verfügbar sein. Der Pfad muss ja von jedem Rechner auf dem die Anwendung läuft erreichbar sein.
      Solange man die Bilder nicht verändern kann hätetst du auch mit der FileServer Mechanik keine Probleme. Böse wirds erst wenn mehrere Benutzer möglicherweise das Bild ändern könnten. Dann würde ich das Bild in der DB ablegen und dieser das Multiuser Management überlassen.

      Comment


      • #4
        [QUOTE=Christian Marquardt;219611]
        Das Bild direkt als BLOB in die DB speichern und auch daraus ausliefern
        QUOTE]

        Genau das ist meine Zeil.

        Mit fehlt aber dazu der Code. Wie binde ich das Bild als Blob in die Datenbank ein?

        Comment


        • #5
          In einem parameterisierten SQL Query kannst Du auch BLOBs als Parameter übergeben.

          Comment


          • #6
            Wie binde ich das Bild als Blob in die Datenbank ein?
            Kommt darauf an woher das Bild kommt? Wie soll es in die DB kommen? Über den Client? Upload? Macht das ein Admin und stellt die irgendwohin, wo sie gelesen werden sollen???
            Client-Server-Anwendung? Über das Internet?
            Christian

            Comment


            • #7
              Originally posted by Christian Marquardt View Post
              Kommt darauf an woher das Bild kommt? Wie soll es in die DB kommen? Über den Client? Upload? Macht das ein Admin und stellt die irgendwohin, wo sie gelesen werden sollen???
              Client-Server-Anwendung? Über das Internet?
              Ich stelle mir die ganze Sache vollgendermaßen vor.
              Das Bild liegt meinetwegen auf dem Desktop. Mit einem Upload ist es wahrscheinlich am einfachsten für den Anweder. Also müsste ich ein seperates upload-Fenster erstellen. <-- Bekomme ich hin. ;-)
              Durch ein Klick in eine textbox, kann ich ja veranlassen, dass sich ein Durchsuchenfenster öffnet. Damit kann die Bilddatei ausgewählt werden. Durch ein Klicken auf den Uploadbutton, soll nun das Bild in die Datenbank geladen werden. Dafür ist ein Blob vorgesehen.
              Ein Admin habe ich nicht vorgesehen. Das Bild liegt als in der Datenbank und kann durch eine Suchanfrage aus der Datenbank gelesen werden.
              Es handelt sich hierbei um eine client-server-Verbindung.

              Comment


              • #8
                Um das klarzustellen:

                Du schreibst ein C# Programm, welches dem Anwender ermöglicht ein Bild auszuwählen und diese in eine DB zu laden.

                Das setzt voraus, dass dein Client direkt (ohne Internet) mit der DB kommunizieren kann.


                Mögliche Lösung

                http://www.winfuture-forum.de/lofive...hp?t37050.html
                Christian

                Comment

                Working...
                X