尝试将图像存储到表中时出错

时间:2017-05-05 10:48:56

标签: java oracle

当我尝试将图像插入到像

这样的表格中时
insert  into IMAGETABLE values('C:\Users\wecme\Desktop\bharath_java_test1.jpg')

引发以下错误:

Error report -
SQL Error: ORA-01465: invalid hex number
01465. 00000 -  "invalid hex number"

我该怎么办?

1 个答案:

答案 0 :(得分:1)

表中的列被定义为包含BLOB,并且您输入的是String值(文件的位置,而不是文件内容本身)。

首先将文件内容加载到ByteArray中,然后将其存储到数据库中(作为BLOB或CLOB):

你可以这样做:

import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.Path;

Path path = Paths.get("C:\Users\wecme\Desktop\bharath_java_test1.jpg");
byte[] data = Files.readAllBytes(path);

这将文件内容读入byte []。然后可以将此byte []写入数据库列。 (我假设您的列定义是CLOB / BLOB)