Делаю вот так:
//Загружаем драйвер
Class.forName("org.postgresql.Driver");
System.out.println("Драйвер подключен");
//Создаём соединение
connection = DriverManager.getConnection(url, name, password);
System.out.println("Соединение установлено");
PreparedStatement preparedStatement = connection.prepareStatement(
"INSERT INTO photos(client_id, photo_data) values(?, ?)");
preparedStatement.setLong(1,clientID);
// preparedStatement.setBinaryStream(2,new ByteArrayInputStream(imageData),imageData.length);
preparedStatement.setBytes(2,imageData);
preparedStatement.executeUpdate();
Получаю вот такую ошибку:
org.postgresql.util.PSQLException: ОШИБКА: столбец "photo_data" имеет тип bytea[], а выражение - bytea Подсказка: Перепишите выражение или преобразуйте его тип. Позиция: 54
Что не так? imageData
это byte[]
.
Поменяйте тип photo_data
на bytea
. Название типа ByteA означает byte array. У вас сейчас поле photo_data
имеет тип массива байтовых массивов. А вставить в него вы пытаетесь просто последовательность байтов. Естественно, что СУБД ваших попыток не понимает.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Атрибут "checked" реагирует по разному в Chrome и FirefoxПри обновлении страницы, первое "radio" должно быть активным(смотрите код)