Используя расширение веб-базы данных CodenameOne, я могу заставить базовые поля SQL работать со строками и числами, но не с большими двоичными объектами BLOB. Я следую инструкциям здесь: https://www.codenameone.com/blog/connecting-to-a-mysql-database-part-2.html
Поддерживаются ли BLOB-объекты CodenameOne? Если так, то как ты это делаешь? Я не могу найти примеры, которые используют типы BLOB.
Я пытался использовать длинные строки, и с MarianaDB можно получить размер строки до 512 КБ, но мне нужно хранить изображения, которые могут быть больше.
MariaDB [(none)]> use tsg; фотографии desc;
База данных изменена
+ ------------ + ------------------ + ------ + ----- + ---- ----- + ---------------- +
| Поле | Тип | Null | Ключ | По умолчанию | Extra |
+ ------------ + ------------------ + ------ + ----- + ---- ----- + ---------------- +
| id | int (10) без знака | НЕТ | PRI | NULL | auto_increment |
| player_id | int (11) | НЕТ | | NULL | |
| tree_id | int (11) | НЕТ | | NULL | |
| фот_тип | длинный текст | НЕТ | | NULL | |
| изображение | капля | ДА | | NULL | |
+ ------------ + ------------------ + ------ + ----- + ---- ----- + ---------------- +
5 рядов в наборе (0,001 сек)
Когда я добавляю запись без блоба, она работает:
m.put("playerId", "1");
m.put("treeId", "2");
m.put("photoType", "front");
m.put("image", null);
client.create(m, res -> {
System.out.println(m);
System.out.println("create result = " + res);
});
выходы:
{treeId = 2, image = null, photoType = front, playerId = 1}
создать результат = true
Но когда я пытаюсь добавить блоб, это не так:
m.put("playerId", "1");
m.put("treeId", "2");
m.put("photoType", "front");
byte bytes[] = new byte[100];
m.put("image", bytes);
client.create(m, res -> {
System.out.println(m);
System.out.println("create result = " + res);
});
выходы:
{treeId = 2, image = [B @ 5968c8cb, photoType = front, playerId = 1}
создать результат = false
Помощь! Я неправильно использую большие двоичные объекты, или CN1 не поддерживает большие двоичные объекты?
Единственное сообщение об ошибке от результата создания, являющегося ложным.