Update blob загрузка image
Update blob загрузка image
Здравствуйте.
Есть blob поле.
Если изображение делаю insert, то нормально, изображение есть.
MyQuery1->ParamByName("image1")->LoadFromFile(Path, ftBlob);
Но если делаю Update, то выдает ошибку, что поле недостаточной длины.
Может я неправильно загружаю изображение.
Подскажите правильные варианты.
Есть blob поле.
Если изображение делаю insert, то нормально, изображение есть.
MyQuery1->ParamByName("image1")->LoadFromFile(Path, ftBlob);
Но если делаю Update, то выдает ошибку, что поле недостаточной длины.
Может я неправильно загружаю изображение.
Подскажите правильные варианты.
Re: Update blob загрузка image
Прошу прощения, insert или update не влияют.
Влияет размер картинки jpg, если 30 кбайт, то все нормально, если больше 170кбайт, то выдает ошибку, data too long for column
Влияет размер картинки jpg, если 30 кбайт, то все нормально, если больше 170кбайт, то выдает ошибку, data too long for column
Re: Update blob загрузка image
Добрый день,
Это поведение связано с настройками MySQL сервера. Для загрузки больших данных Вам необходимо увеличить значение серверной переменной max_allowed_packet в my.ini файле. Например:
max_allowed_packet = 16M
Это поведение связано с настройками MySQL сервера. Для загрузки больших данных Вам необходимо увеличить значение серверной переменной max_allowed_packet в my.ini файле. Например:
max_allowed_packet = 16M
Re: Update blob загрузка image
А как программно изменить значение, просто многие клиенты даже не знают, что такое файлы, им будет сложно объяснить.
не работает
Код: Выделить всё
MyConnection2->ExecSQL("set global max_allowed_packet=350000000", NULL, 0);
Re: Update blob загрузка image
Если Вы устанавливаете опцию с помощью команды SET значение в ini файле не изменяется, установка опции будет действовать до перезагрузки сервера. Для всех новых соединений.
P.S. После выполнения команды SET запрос
будет отображать значение из ini файла, а не установленное значение
P.S. После выполнения команды SET запрос
Код: Выделить всё
SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet'
Re: Update blob загрузка image
Так в теории. Меня бы это устроило, однако, если даже установить сразу перед загрузкой это значение(в той же сессии), все равно выходит ошибка.Alexp писал(а):Если Вы устанавливаете опцию с помощью команды SET значение в ini файле не изменяется, установка опции будет действовать до перезагрузки сервера. Для всех новых соединений.
Re: Update blob загрузка image
D MySQL есть несколько типов BLOB полей
проверьте что используемый тип поля позволяет вставить Ваши данныеMySQL
TINYBLOB
A BLOB column with a maximum length of 255 (28 – 1) bytes. Each TINYBLOB value is stored using a one-byte length prefix that indicates the number of bytes in the value.
BLOB[(M)]
A BLOB column with a maximum length of 65,535 (216 – 1) bytes. Each BLOB value is stored using a two-byte length prefix that indicates the number of bytes in the value.
An optional length M can be given for this type. If this is done, MySQL creates the column as the smallest BLOB type large enough to hold values M bytes long.
MEDIUMBLOB
A BLOB column with a maximum length of 16,777,215 (224 – 1) bytes. Each MEDIUMBLOB value is stored using a three-byte length prefix that indicates the number of bytes in the value.
LONGBLOB
A BLOB column with a maximum length of 4,294,967,295 or 4GB (232 – 1) bytes. The effective maximum length of LONGBLOB columns depends on the configured maximum packet size in the client/server protocol and available memory. Each LONGBLOB value is stored using a four-byte length prefix that indicates the number of bytes in the value.
Re: Update blob загрузка image
Спасибо.
Не знал что medium blob больше blob.
Не знал что medium blob больше blob.
Re: Update blob загрузка image
Пожалуйста. Обращайтесь к нам если у Вас еще возникнут вопросы по MyDAC.