Mailinglisten-Archive |
> > > > Ich versuche BLOB's, die größer als 500kB sind in einer MySQL > > > > DB zu speichern. Das scheitert an internen Begrenzungen von > > > > MySQL. Wie kann ich die internen Puffer hochsetzten? Wenn > > > > möglich auch von einem Client aus? > > Sowas kann nur von einem berechtigten Administrator geschehen. Also du musst > > z.B. die "my.ini" auf dem Datenbank-Rechner editieren. > OK - das werde ich tun... unter Windows hast Du's einfach, verwende WinMySQL-Admin. PHPmyAdmin kann die Einstelungen zwar nicht ändern, aber immerhin anzeigen ("MySQL-System-Variablen anzeigen"). > Ich verwende im übrigen MediumBLOB - daran sollte es also nicht liegen. > > > > Standardwert von max_allowed_packet ist ~1MB, > > > und das kann man nur am Server schrauben > > > (bei dir anscheinend 500k). > In das Paket gehen doch auch noch die Escapezeichen mit ein... daher ca. 500Kb > als Maximum bei 1MB max_allowed_packet Also ich weiss nicht, wie du das Escapen Programmierst, aber das macht die Dateien normal nicht wesentlich größer. Nur \0, \ ' " ; werden escaped, nicht wie z.B. bei MIME-emails alles was über \127 ist. (siehe MySQL Manual - Strings ) > > Solllen Dateien von einem Client-Rechner aus auf den Datenbankserver > > gespeichert werden, muss dies entweder mit einer etwas aufwendigen > > Programmierung geschehen (C, PHP ...) oder es müssen erst die Dateien per > > ftp transferiert werden. > Ich verwende ja eine aufwenige Sprache .- C#. Das Problem ist eben, dass mir > MySQL die Verbinung dicht macht. Was meinst Du mit aufwendig? Ich würde gerne mehr über C# erfahren, da ich es noch nicht in die Finger bekommen habe. Welche API verwendest Du? ODBC macht angeblich nur Probleme und soll recht lahm sein. Ich denke, es gibt seit kurzem eine spezielle mysql++ API für .NET Schon probiert? > > Dann stellt sich natürlich auch die Frage, warum so grosse Dateien überhaupt > > in einer Datenbank gespeichert werden müssen, oder ob man besser nur einen > > Pfad speichert. > Da die Dateien nur bis max. 2MB haben und ist das für mich ok. Naja, ist wirklich nicht sehr effizient. Habe mal probiert sowas als Client-Server zu programmieren und die Übertragung lief auch per Ethernet nicht schneller als mit DSL. Wenn Du keine Volltextsuche über die Dateien brauchst, vermeidest Du viel Stress, wenn Du die Dateien einfach per FTP (oder auch http per Browserformular) überträgst und die Dateipfade in der DB speicherst. > Danke soweit, > Andreas Gruss, Franz -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive