phpbar.de logo

Mailinglisten-Archive

BLOB's

BLOB's

Franz Alt franz.alt@pfaffenhofen.de
Wed Nov 27 12:56:51 2002


> > >  > 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