java无法将BLOB保存到数据库(ORA01460:未实现或不需要有意义的转换)
我有这张桌子:
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,并尝试以不同的方式读取文件,但每次尝试都会导致相同的错误
如何简单地读取文件并将其保存为blob
共 (0) 个答案