sql >> Databáze >  >> RDS >> Mysql

BLOb:nemůže přečíst všechna data, ale několik kb

Váš program je správný. Pokud je velikost souboru malá, bude to fungovat dobře. Pokud používáte BLOB datový typ pro uložení těchto binárních dat, změňte jej na LONGBLOB . Protože pokud jste se pokusili uložit soubor v BLOB datové pole, a pokud je velikost souboru větší než maximální povolená velikost datového typu BLOB, obsah bude zkrácen a ztratíte část obsahu souboru (závisí na velikosti souboru). I když používáte LONGBLOB datový typ existuje několik věcí, které musíte zkontrolovat. Vysvětlím

Na webu mysql můžeme vidět maximální velikost souboru LONGBLOB je 4 GB. Ale záleží na mnoha věcech. Chcete-li uložit velký soubor, musíte zkontrolovat některé věci. První věc je v my.ini existuje vlastnost nazvaná max_allowed_packet , určuje největší možný paket, který lze přenést na nebo z klienta nebo serveru mysql. Měli byste nastavit max_allowed_packet majetek na vyšší hodnotu. A restartujte mysql. Některé systémy souborů neumožňují soubory o velikosti 4 GB. V takovém případě nemůžete načíst tak velký soubor.

Myslím, že ve vašem případě nastavte max_allowed_packet vlastnost na vyšší hodnotu problém vyřeší.

Myslím, že můžete použít následující skript pro vytvoření tabulky

CREATE TABLE `image` (
    `id` INT(10) NULL DEFAULT NULL,
    `fs` LONGBLOB NULL,
    `filen` VARCHAR(50) NULL DEFAULT NULL
)


  1. Nastavte časový limit připojení k databázi Oracle 10g v Javě

  2. Wordpress kombinovat dotazy

  3. SQL Server 2017:Import dat CSV z Linuxu do Salesforce pomocí SSIS

  4. C# MySQL Connection Pooling