PDF in MySQL Datenbank speichern

  • WPF

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    PDF in MySQL Datenbank speichern

    Ich möchte ein PDF Dokument in einer MySQL Datenbank speichern. Allerdings speichert mir folgender Code nur den Namen des Dokumentes.
    Irgend etwas ist nicht so wie es sein soll.

    (Es geht hier um WPF nicht WinForms)

    Ich möchte nicht nur den Pfad in der Datenbank speichern sondern das gesamte Dokument!

    VB.NET-Quellcode

    1. Dim OpenFileDialog As New OpenFileDialog
    2. cmd.CommandText = String.Format("UPDATE vertrag_dokumente SET vertrag_dokumente_dokument = '{0}' WHERE vertrag_dokumente_id = " & vertrag_dokumente_id, System.IO.Path.GetFileName(OpenFileDialog.FileName))
    3. cmd.ExecuteNonQuery()


    Ich nehme an das "FileName" nicht die richtige Eigenschaft ist. Welche Eigenschaft definiert die gesamte PDF Datei?
    Um eventuelle Veränderungen aufgrund von verschiedenen Codierungen zu vermeiden, würde ich dir eine BLOB Spalte Empfehlen.

    Als nächstes muss du die Datei mit einem FileStream in ein Byte Array packen, und kannst dass dann über einen parameterisierten Befehl an die Datenbank schicken. Mit einem zusammengefrickelten String wird das leider nichts.

    Aber möchtest du wirklich die Dateien in der DB Speichern? Warum nicht einfach auf einem Netzlaufwerk ablegen?
    Zunächst Danke für Deine Antwort und ich verstehe es so das ich den Pfad des PDF zunächst z.B. an eine TextBox übergeben soll und dann an die Datenbank senden?
    Die Datenbank hat eine BLOB Spalte.
    Ich wollte gern die PDF Dokumente von meinem Rechner runter haben. Die Datenbank liegt auf einem virtuellen Windows Server. Wenn ich die Daten sichern möchte wäre es nötig alle Dokumente zu sichern und die Datenbank. So würde wahrscheinlich das Sichern der Datenbank reichen. Außerdem glaube ich; wenn sich der Pfad zum Dokument ändert z.B. durch einen Rechnerwechsel; wird es kompliziert die Dokumente wieder zu finden.
    Die Größe der Datenbank ist auf Grund der gespeicherten Dokumente praktisch fast egal.
    Ich weiß nicht wie du auf die TextBox kommst.

    Also. Du hast ja bereits den Pfad zu deiner Datei die du hinzufügen möchtest.
    Als nächstes, und da muss ich mich korrigieren, benutzt du File.ReadAllBytes um die Datei in eine Byte-Array zu laden.

    Wie man nun einen Parameterisierten Befehl erstellt, kannst du dir hier ansehen:
    dev.mysql.com/doc/connector-ne…ramming-blob-writing.html