Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

BLOb:não pode ler todos os dados, mas poucos kb


Seu programa está correto. Se o tamanho do arquivo for pequeno, funcionará bem. Se você estiver usando BLOB tipo de dados para armazenar esses dados binários, altere-os para LONGBLOB . Porque se você tentou salvar um arquivo em BLOB campo de dados, e se o tamanho do arquivo for maior que o tamanho máximo permitido do tipo de dados BLOB, o conteúdo será truncado e você perderá algum conteúdo do arquivo (depende do tamanho do arquivo). Mesmo se você usar LONGBLOB tipo de dados, há algumas coisas que você deve verificar. eu vou explicar

No site mysql podemos ver que o tamanho máximo do arquivo de LONGBLOB é 4GB. Mas depende de muitas coisas. Para armazenar arquivos grandes, você precisa verificar algumas coisas. A primeira coisa está em my.ini arquivo, existe uma propriedade chamada max_allowed_packet , ele especifica o maior pacote possível que pode ser transmitido de ou para um cliente ou servidor mysql. Você deve definir max_allowed_packet imóvel a um valor superior. E reinicie o mysql. Alguns sistemas de arquivos não permitem arquivos de 4 GB. Nesse caso, você não pode carregar um arquivo muito grande.

Acho que no seu caso configurando max_allowed_packet propriedade para um valor mais alto resolverá o problema.

Eu acho que você pode usar o seguinte script de criação de tabela
CREATE TABLE `image` (
    `id` INT(10) NULL DEFAULT NULL,
    `fs` LONGBLOB NULL,
    `filen` VARCHAR(50) NULL DEFAULT NULL
)