2017-05-05 38 views
0

當我嘗試插入圖像到一個表像錯誤試圖店面形象到表

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

什麼是IMAGETABLE的結構?你是否試圖從操作系統目錄加載文件? – APC

+0

是的。這些是通信創建表imageTable(圖像blob); 插入IMAGETABLE值(「b.jpg」); –

+0

此文件位於數據庫服務器上的目錄中嗎? – APC

回答

1

表中的列被定義爲包含一個BLOB,並且您要輸入一個字符串值(文件的位置,而不是文件內容本身)。

首先加載文件的內容到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 []然後可以寫入你的數據庫列。 (我假設你的列定義是一個CLOB/BLOB)

+0

然後如何指定圖像路徑到ioracle –

+0

我希望它從SQL開發者存儲,如果我給路徑給它像無效的hexnumber。 –