Рейтинг:
24
MadMyche
Теперь, когда мы знаем, в чем проблема, мы можем выяснить, что она означает, причину и возможные исправления.
Член 13910887
это и есть ошибка.
Для MySQL.Данных.MySqlClient.MySqlException:
Packets larger than max_allowed_packet are not allowed
Таким образом, ваш запрос слишком длинный; по-видимому, ограничение по умолчанию составляет 1 МБ для оператора запроса, но это может быть изменено различными способами.
Прочтите эту статью и попробуйте ее.
Пакеты размером больше max_allowed_packet не допускаются · MySqlBackupNET/MySqlBackup.Net Wiki · GitHub[
^]
Моя рекомендация состояла бы только в том, чтобы делать это при необходимости; если по какой-то случайной причине сервер был скомпрометирован, меньший предел размера означает, что меньше может быть введено с помощью одной команды.
Member 13910887
не могли бы вы помочь мне, где я должен поместить это в свой код
спасибо
MadMyche
Я бы управлял этим SET SESSION max_allowed_packet=1024*1024*1024
как отдельный текст команды и выполнить перед вашей командой insert/update
Member 13910887
не могли бы вы проверить, пожалуйста, если я ошибаюсь, Я не знаю, где бы я разместил этот кодовый набор сессии max_allowed_packet=1024*1024*1024
MadMyche
Попробуйте это
Dim qry1 as String = "SET SESSION max_allowed_packet=32*1024*1024;"
Dim qry2 as String = "INSERT INTO `category`( `IMG`, `NAME`) VALUES (@IMG,@NAME)"
Dim command As New MySqlCommand(qry1 + qry2, cn)
With command.Parameters
.Add("@IMG", MySqlDbType.Blob).Value = ms.ToArray()
.AddWithValue("NAME", TextBox1.Text)
End With
Member 13910887
я пробую код
ошибка та же самая
в этой части всегда отображается окно ошибки
Если команда.ExecuteNonQuery() = 1 Тогда
Ящик для сообщений.Показать("Вы Успешно Сохранили")
addcategoryclear() 'вы вызываете ddcategoryclear (), чтобы очистить текстовое поле и picturebox
loadcategory()
Конец, Если
Ящик для сообщений.Показать("что-то не так мольбы попробуй еще раз")
Конец, Если
MadMyche
Возможно, вы захотите проверить, есть ли у вас разрешения на внесение этих изменений - это должно было сработать
Member 13910887
я что бы определить, как исправить проблему, для этого иду прыгать в чистый процесс
Member 13910887
я пытаюсь сохранить только изображение и удалить другой запрос, но ошибка та же самая
Member 13910887
Привет... Я замечаю, что изображение, которое я хочу сохранить, не является частью (*.JPG;*.PNG;.*Гиф;)|*.формат JPG;*.формат PNG;*.джиф"), так что образ, который я пытался спасти, это "jfif имеют"
я ищу в интернете и преобразую изображение в следующее
Рейтинг:
0
Member 13910887
ошибка та же самая, я не думаю, что если я пропущу место, то
SET SESSION max_allowed_packet=1024*1024*1024
Private Sub SAVECATEGORY_Click(sender As Object, e As EventArgs) Handles SAVECATEGORY.Click
Dim ms As New MemoryStream '...........need to Imports System.IO from general
If PictureBox1.Image Is Nothing Then
MessageBox.Show("Please Insert image ")
addcategoryclear() 'you call ddcategoryclear() to clear textbox and picturebox
ElseIf TextBox1.Text = "" Then
MessageBox.Show("Please Insert Image Name")
addcategoryclear() 'you call ddcategoryclear() to clear textbox and picturebox
Else
cn.Open()
PictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png) ' ........save IMAGE
Dim command As New MySqlCommand("INSERT INTO `category`( `IMG`, `NAME`) VALUES (@IMG,@NAME)", cn)
With command.Parameters
' Set SESSION max_allowed_packet=1024*1024*1024
cmd.CommandText = "SET SESSION max_allowed_packet=32*1024*1024;"
.Add("@IMG", MySqlDbType.Blob).Value = ms.ToArray()
.AddWithValue("NAME", TextBox1.Text)
End With
If command.ExecuteNonQuery() = 1 Then
MessageBox.Show("You Successfully Save")
addcategoryclear() 'you call ddcategoryclear() to clear textbox and picturebox
loadcategory()
End If
MessageBox.Show("Something Wrong Pleas Try again")
End If
cn.Close()
Me.Refresh()
End Sub
Рейтинг:
0
Member 13910887
я тоже пытаюсь это сделать но ошибка та же самая
Private Sub SAVECATEGORY_Click(sender As Object, e As EventArgs) Handles SAVECATEGORY.Click
Dim ms As New MemoryStream '...........need to Imports System.IO from general
If PictureBox1.Image Is Nothing Then
MessageBox.Show("Please Insert image ")
addcategoryclear() 'you call ddcategoryclear() to clear textbox and picturebox
ElseIf TextBox1.Text = "" Then
MessageBox.Show("Please Insert Image Name")
addcategoryclear() 'you call ddcategoryclear() to clear textbox and picturebox
Else
cn.Open()
PictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png) ' ........save IMAGE
Dim command As New MySqlCommand("INSERT INTO `category`( `IMG`, `NAME`) VALUES (@IMG,@NAME)", cn)
With command.Parameters
' Set SESSION max_allowed_packet=1024*1024*1024
.Add("@IMG", MySqlDbType.Blob).Value = ms.ToArray()
.AddWithValue("NAME", TextBox1.Text)
End With
' cmd.CommandText = "SET SESSION max_allowed_packet=32*1024*1024;"
If command.ExecuteNonQuery() = "SET SESSION max_allowed_packet=1024*1024*1024" Then
MessageBox.Show("You Successfully Save")
addcategoryclear() 'you call ddcategoryclear() to clear textbox and picturebox
loadcategory()
End If
MessageBox.Show("Something Wrong Pleas Try again")
End If
cn.Close()
Me.Refresh()
End Sub