У меня есть эта таблица:
CREATE SEQUENCE seqPublicFile START WITH 1 INCREMENT BY 1;
CREATE TABLE PublicFile(
fileId INTEGER PRIMARY KEY,
fileName varchar2(50),
fileContent blob,
publishDate date,
publisherTeacher varchar2(50),
CONSTRAINT fk_teacher1 FOREIGN KEY(publisherTeacher) REFERENCES Teacher(username)
);
Когда я пытаюсь сохранить новую строку в моей таблице:
conn = createConnection();
String select = "INSERT INTO PublicFile VALUES(seqPublicFile.NEXTVAL,?,?,?,?)";
PreparedStatement stmt = conn.prepareStatement(select);
stmt.setString(1, "fs1.jpg");
File file = new File("C:\\Users\\schueler\\Desktop\\5AHIFS\\NVS\\fs1.jpg");
FileInputStream fis = new FileInputStream(file);
stmt.setBinaryStream(2, fis, (int) file.length());
stmt.setDate(3, Date.valueOf(LocalDate.now()));
stmt.setString(4, "nimda");
stmt.executeQuery();
conn.close();
Я всегда получаю эту ошибку:
ORA-01460: Unimplemented or not meaningful conversion required
Что я делаю не так? Я попытался также getBytes, и я попытался прочитать файл по-другому, но каждая попытка приводит к одной и той же ошибке.
Как я могу просто прочитать файл и сохранить его как большой двоичный объект?