如何圖像加載到Oracle數據庫表如何圖像加載到Oracle數據庫表
假設我有一個像圖像的列表
CREATE TABLE image (img_id number
,img_name varchar2(100)
,img BLOB) ;
任何一個可以幫助我
如何圖像加載到Oracle數據庫表如何圖像加載到Oracle數據庫表
假設我有一個像圖像的列表
CREATE TABLE image (img_id number
,img_name varchar2(100)
,img BLOB) ;
任何一個可以幫助我
如果文件位於數據庫服務器上,請參閱羅伯特的方法。
如果文件位於CLIENT文件系統上,請使用SQLLDR。例如:
SQL> CREATE TABLE tab1 (
2 id number primary key,
3 image BLOB
4 );
Table created.
SQL> host sqlldr user/[email protected] control=load_image.ctl
SQL*Loader: Release 11.2.0.2.0 - Production on Thu Nov 29 10:41:08 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Commit point reached - logical record count 1
SQL> select * from tab1;
ID
----------
IMAGE
--------------------------------------------------------------------------------
1
FFD8FFE000104A46494600010101004800480000FFE111C44578696600004D4D002A00000008000B
010F00020000000100000000011000020000000100000000011200030000000100010000011A0005
SQL> select length(image) from tab1;
LENGTH(IMAGE)
-------------
263508
SQL>
其中控制文件是這樣的:
LOAD DATA
INFILE 'images.txt'
INTO TABLE tab1
FIELDS TERMINATED BY ','
(id ,
image_filename FILLER CHAR(100),
image LOBFILE(image_filename) TERMINATED BY EOF)
和樣品images.txt文件:
1,foo.jpg
感謝DazzaL爲您的輸入,它工作正常:) – Viru
CREATE OR REPLACE DIRECTORY test_dir AS 'C:\';
DECLARE
l_bfile BFILE;
l_blob BLOB;
BEGIN
INSERT INTO tab1 (col1, col2)
VALUES (empty_blob(), 'test1')
RETURN col1 INTO l_blob;
l_bfile := BFILENAME('test_dir', 'Test.txt');
DBMS_LOB.fileopen(l_bfile, Dbms_Lob.File_Readonly);
DBMS_LOB.loadfromfile(l_blob, l_bfile, DBMS_LOB.getlength(l_bfile));
DBMS_LOB.fileclose(l_bfile);
COMMIT;
END;
我冒昧地插入更新語句 –
@RobertMerkwürdigeliebe更新是多餘的。使用mr dump技術的寫入模式返回lob指針。 – DazzaL
好酷。我會檢查出來,不是我不相信你; ;-) –
在哪裏圖像?文件系統/數據庫/ Java對象 –
RobertMerkwürdigeliebe圖像文件系統 – Viru