<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FLarge_Objects%2FBLOB</id>
		<title>Oracle PL/SQL Tutorial/Large Objects/BLOB - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FLarge_Objects%2FBLOB"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Large_Objects/BLOB&amp;action=history"/>
		<updated>2026-07-15T18:49:22Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Large_Objects/BLOB&amp;diff=4237&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Large_Objects/BLOB&amp;diff=4237&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Large_Objects/BLOB&amp;diff=4238&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Large_Objects/BLOB&amp;diff=4238&amp;oldid=prev"/>
				<updated>2010-05-26T10:09:00Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Adding Content to a BLOB==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myTable (&lt;br /&gt;
  2    id          INTEGER PRIMARY KEY,&lt;br /&gt;
  3    blob_column BLOB NOT NULL&lt;br /&gt;
  4  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myTable(id, blob_column) VALUES (1, EMPTY_BLOB());&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; UPDATE myTable&lt;br /&gt;
  2  SET blob_column = &amp;quot;VVVVV&amp;quot;&lt;br /&gt;
  3  WHERE id = 1;&lt;br /&gt;
SET blob_column = &amp;quot;VVVVV&amp;quot;&lt;br /&gt;
                  *&lt;br /&gt;
ERROR at line 2:&lt;br /&gt;
ORA-01465: invalid hex number&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT *&lt;br /&gt;
  2  FROM myTable;&lt;br /&gt;
SP2-0678: Column or attribute type can not be displayed by SQL*Plus&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myTable;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Close the BLOB==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myBlob&lt;br /&gt;
  2  (id NUMBER PRIMARY KEY,&lt;br /&gt;
  3   blob_data BLOB);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    bfile_pointer BFILE;&lt;br /&gt;
  3    blob_pointer BLOB;&lt;br /&gt;
  4    bfile_offset NUMBER :=1;&lt;br /&gt;
  5    blob_offset NUMBER :=1;&lt;br /&gt;
  6    tot_len INTEGER;&lt;br /&gt;
  7  BEGIN&lt;br /&gt;
  8&lt;br /&gt;
  9    INSERT INTO myBlob VALUES (1,EMPTY_BLOB());&lt;br /&gt;
 10&lt;br /&gt;
 11    SELECT blob_data INTO blob_pointer FROM myBlob WHERE id =1 FOR UPDATE;&lt;br /&gt;
 12&lt;br /&gt;
 13    bfile_pointer :=bfilename(&amp;quot;BFILE_DIR&amp;quot;,&amp;quot;test.bmp&amp;quot;);&lt;br /&gt;
 14&lt;br /&gt;
 15    dbms_lob.fileopen(bfile_pointer,dbms_lob.file_readonly);&lt;br /&gt;
 16&lt;br /&gt;
 17    dbms_lob.OPEN(blob_pointer,dbms_lob.lob_readwrite);&lt;br /&gt;
 18&lt;br /&gt;
 19    dbms_lob.LOADBLOBFROMFILE(blob_pointer,bfile_pointer,dbms_lob.lobmaxsize,bfile_offset,blob_offset);&lt;br /&gt;
 20&lt;br /&gt;
 21    tot_len :=DBMS_LOB.GETLENGTH(blob_pointer);&lt;br /&gt;
 22&lt;br /&gt;
 23    dbms_lob.close(blob_pointer);&lt;br /&gt;
 24&lt;br /&gt;
 25    dbms_lob.fileclose(bfile_pointer);&lt;br /&gt;
 26&lt;br /&gt;
 27    DBMS_OUTPUT.PUT_LINE(TO_CHAR(tot_len));&lt;br /&gt;
 28  END;&lt;br /&gt;
 29  /&lt;br /&gt;
DECLARE&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-22288: file or LOB operation FILEOPEN failed&lt;br /&gt;
The system cannot find the path specified.&lt;br /&gt;
ORA-06512: at &amp;quot;SYS.DBMS_LOB&amp;quot;, line 523&lt;br /&gt;
ORA-06512: at line 15&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myBlob;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Creating Tables Containing BLOB Objects==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myTable (&lt;br /&gt;
  2    id          INTEGER PRIMARY KEY,&lt;br /&gt;
  3    blob_column BLOB NOT NULL&lt;br /&gt;
  4  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; desc myTable;&lt;br /&gt;
 Name               Null?    Type&lt;br /&gt;
 ---------------&lt;br /&gt;
 ID                 NOT NULL NUMBER(38)&lt;br /&gt;
 BLOB_COLUMN        NOT NULL BLOB&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myTable;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Display the length of the BLOB==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myBlob&lt;br /&gt;
  2  (id NUMBER PRIMARY KEY,&lt;br /&gt;
  3   blob_data BLOB);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    bfile_pointer BFILE;&lt;br /&gt;
  3    blob_pointer BLOB;&lt;br /&gt;
  4    bfile_offset NUMBER :=1;&lt;br /&gt;
  5    blob_offset NUMBER :=1;&lt;br /&gt;
  6    tot_len INTEGER;&lt;br /&gt;
  7  BEGIN&lt;br /&gt;
  8&lt;br /&gt;
  9    INSERT INTO myBlob VALUES (1,EMPTY_BLOB());&lt;br /&gt;
 10&lt;br /&gt;
 11    SELECT blob_data INTO blob_pointer FROM myBlob WHERE id = 1 FOR UPDATE;&lt;br /&gt;
 12&lt;br /&gt;
 13    bfile_pointer :=bfilename(&amp;quot;BFILE_DIR&amp;quot;,&amp;quot;test.bmp&amp;quot;);&lt;br /&gt;
 14&lt;br /&gt;
 15    dbms_lob.fileopen(bfile_pointer,dbms_lob.file_readonly);&lt;br /&gt;
 16&lt;br /&gt;
 17    dbms_lob.OPEN(blob_pointer,dbms_lob.lob_readwrite);&lt;br /&gt;
 18&lt;br /&gt;
 19    dbms_lob.LOADBLOBFROMFILE(blob_pointer,bfile_pointer,dbms_lob.lobmaxsize,bfile_offset,blob_offset);&lt;br /&gt;
 20&lt;br /&gt;
 21    tot_len :=DBMS_LOB.GETLENGTH(blob_pointer);&lt;br /&gt;
 22&lt;br /&gt;
 23    dbms_lob.close(blob_pointer);&lt;br /&gt;
 24&lt;br /&gt;
 25    dbms_lob.fileclose(bfile_pointer);&lt;br /&gt;
 26&lt;br /&gt;
 27    DBMS_OUTPUT.PUT_LINE(TO_CHAR(tot_len));&lt;br /&gt;
 28  END;&lt;br /&gt;
 29  /&lt;br /&gt;
DECLARE&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-22288: file or LOB operation FILEOPEN failed&lt;br /&gt;
The system cannot find the path specified.&lt;br /&gt;
ORA-06512: at &amp;quot;SYS.DBMS_LOB&amp;quot;, line 523&lt;br /&gt;
ORA-06512: at line 15&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myBlob;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Initialize BLOB column data==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myTable (&lt;br /&gt;
  2    id          INTEGER PRIMARY KEY,&lt;br /&gt;
  3    blob_column BLOB NOT NULL&lt;br /&gt;
  4  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myTable(id, blob_column) VALUES (1, EMPTY_BLOB());&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myTable;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== INSERT a row with an empty blob==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myBlob&lt;br /&gt;
  2  (id NUMBER PRIMARY KEY,&lt;br /&gt;
  3   blob_data BLOB);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    bfile_pointer BFILE;&lt;br /&gt;
  3    blob_pointer BLOB;&lt;br /&gt;
  4    bfile_offset NUMBER :=1;&lt;br /&gt;
  5    blob_offset NUMBER :=1;&lt;br /&gt;
  6    tot_len INTEGER;&lt;br /&gt;
  7  BEGIN&lt;br /&gt;
  8&lt;br /&gt;
  9    INSERT INTO myBlob VALUES (1,EMPTY_BLOB());&lt;br /&gt;
 10&lt;br /&gt;
 11    SELECT blob_data INTO blob_pointer FROM myBlob WHERE id = 1 FOR UPDATE;&lt;br /&gt;
 12&lt;br /&gt;
 13    bfile_pointer :=bfilename(&amp;quot;BFILE_DIR&amp;quot;,&amp;quot;test.bmp&amp;quot;);&lt;br /&gt;
 14&lt;br /&gt;
 15    dbms_lob.fileopen(bfile_pointer,dbms_lob.file_readonly);&lt;br /&gt;
 16&lt;br /&gt;
 17    dbms_lob.OPEN(blob_pointer,dbms_lob.lob_readwrite);&lt;br /&gt;
 18&lt;br /&gt;
 19    dbms_lob.LOADBLOBFROMFILE(blob_pointer,bfile_pointer,dbms_lob.lobmaxsize,bfile_offset, blob_offset);&lt;br /&gt;
 20&lt;br /&gt;
 21    tot_len :=DBMS_LOB.GETLENGTH(blob_pointer);&lt;br /&gt;
 22&lt;br /&gt;
 23    dbms_lob.close(blob_pointer);&lt;br /&gt;
 24&lt;br /&gt;
 25    dbms_lob.fileclose(bfile_pointer);&lt;br /&gt;
 26&lt;br /&gt;
 27    DBMS_OUTPUT.PUT_LINE(TO_CHAR(tot_len));&lt;br /&gt;
 28  END;&lt;br /&gt;
 29  /&lt;br /&gt;
DECLARE&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-22288: file or LOB operation FILEOPEN failed&lt;br /&gt;
The system cannot find the path specified.&lt;br /&gt;
ORA-06512: at &amp;quot;SYS.DBMS_LOB&amp;quot;, line 523&lt;br /&gt;
ORA-06512: at line 15&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myBlob;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Loading a page to a BLOB==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table catalog&lt;br /&gt;
  2  (id number,&lt;br /&gt;
  3   name VARCHAR2(2000),&lt;br /&gt;
  4   manual_cl CLOB,&lt;br /&gt;
  5   firstpage_bl BLOB,&lt;br /&gt;
  6   mastertxt_bf BFILE&lt;br /&gt;
  7   );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create directory IO as &amp;quot;C:\IO&amp;quot;;&lt;br /&gt;
Directory created.&lt;br /&gt;
SQL&amp;gt; --grant read, write on directory IO to public;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into catalog(id, name, mastertxt_bf) values (1, &amp;quot;TEXT.HTM&amp;quot;, BFILENAME (&amp;quot;IO&amp;quot;, &amp;quot;text.htm&amp;quot;));&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2      v_file_bf  BFILE:= BFILENAME (&amp;quot;IO&amp;quot;,&amp;quot;picture.gif&amp;quot;);&lt;br /&gt;
  3      v_firstpage_bl   BLOB;&lt;br /&gt;
  4      src_offset_nr       NUMBER := 1;&lt;br /&gt;
  5      dst_offset_nr       NUMBER := 1;&lt;br /&gt;
  6  begin&lt;br /&gt;
  7      update catalog set firstpage_bl = EMPTY_BLOB() where id = 1;&lt;br /&gt;
  8&lt;br /&gt;
  9      select firstpage_bl into v_firstpage_bl from catalog where id = 1;&lt;br /&gt;
 10&lt;br /&gt;
 11      DBMS_LOB.fileopen (v_file_bf, DBMS_LOB.file_readonly);&lt;br /&gt;
 12      DBMS_LOB.loadblobfromfile (v_firstpage_bl, v_file_bf,&lt;br /&gt;
 13                             DBMS_LOB.getlength (v_file_bf),&lt;br /&gt;
 14                             dst_offset_nr, src_offset_nr);&lt;br /&gt;
 15      DBMS_LOB.fileclose (v_file_bf);&lt;br /&gt;
 16  end;&lt;br /&gt;
 17  /&lt;br /&gt;
declare&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-22288: file or LOB operation FILEOPEN failed&lt;br /&gt;
The system cannot find the path specified.&lt;br /&gt;
ORA-06512: at &amp;quot;SYS.DBMS_LOB&amp;quot;, line 523&lt;br /&gt;
ORA-06512: at line 11&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop directory IO;&lt;br /&gt;
Directory dropped.&lt;br /&gt;
SQL&amp;gt; drop table catalog;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Obtain length of the populated BLOB==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myBlob&lt;br /&gt;
  2  (id NUMBER PRIMARY KEY,&lt;br /&gt;
  3   blob_data BLOB);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    bfile_pointer BFILE;&lt;br /&gt;
  3    blob_pointer BLOB;&lt;br /&gt;
  4    bfile_offset NUMBER :=1;&lt;br /&gt;
  5    blob_offset NUMBER :=1;&lt;br /&gt;
  6    tot_len INTEGER;&lt;br /&gt;
  7  BEGIN&lt;br /&gt;
  8&lt;br /&gt;
  9    INSERT INTO myBlob VALUES (1,EMPTY_BLOB());&lt;br /&gt;
 10&lt;br /&gt;
 11    SELECT blob_data INTO blob_pointer FROM myBlob WHERE id = 1 FOR UPDATE;&lt;br /&gt;
 12&lt;br /&gt;
 13    bfile_pointer :=bfilename(&amp;quot;BFILE_DIR&amp;quot;,&amp;quot;test.bmp&amp;quot;);&lt;br /&gt;
 14&lt;br /&gt;
 15    dbms_lob.fileopen(bfile_pointer,dbms_lob.file_readonly);&lt;br /&gt;
 16&lt;br /&gt;
 17    dbms_lob.OPEN(blob_pointer,dbms_lob.lob_readwrite);&lt;br /&gt;
 18&lt;br /&gt;
 19    dbms_lob.LOADBLOBFROMFILE(blob_pointer,bfile_pointer,dbms_lob.lobmaxsize,bfile_offset,blob_offset);&lt;br /&gt;
 20&lt;br /&gt;
 21    tot_len :=DBMS_LOB.GETLENGTH(blob_pointer);&lt;br /&gt;
 22&lt;br /&gt;
 23    dbms_lob.close(blob_pointer);&lt;br /&gt;
 24&lt;br /&gt;
 25    dbms_lob.fileclose(bfile_pointer);&lt;br /&gt;
 26&lt;br /&gt;
 27    DBMS_OUTPUT.PUT_LINE(TO_CHAR(tot_len));&lt;br /&gt;
 28  END;&lt;br /&gt;
 29  /&lt;br /&gt;
DECLARE&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-22288: file or LOB operation FILEOPEN failed&lt;br /&gt;
The system cannot find the path specified.&lt;br /&gt;
ORA-06512: at &amp;quot;SYS.DBMS_LOB&amp;quot;, line 523&lt;br /&gt;
ORA-06512: at line 15&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myBlob;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Open the BLOB==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myBlob&lt;br /&gt;
  2  (id NUMBER PRIMARY KEY,&lt;br /&gt;
  3   blob_data BLOB);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    bfile_pointer BFILE;&lt;br /&gt;
  3    blob_pointer BLOB;&lt;br /&gt;
  4    bfile_offset NUMBER :=1;&lt;br /&gt;
  5    blob_offset NUMBER :=1;&lt;br /&gt;
  6    tot_len INTEGER;&lt;br /&gt;
  7  BEGIN&lt;br /&gt;
  8&lt;br /&gt;
  9    INSERT INTO myBlob VALUES (1,EMPTY_BLOB());&lt;br /&gt;
 10&lt;br /&gt;
 11    SELECT blob_data INTO blob_pointer FROM myBlob WHERE id = 1 FOR UPDATE;&lt;br /&gt;
 12&lt;br /&gt;
 13    bfile_pointer :=bfilename(&amp;quot;BFILE_DIR&amp;quot;,&amp;quot;test.bmp&amp;quot;);&lt;br /&gt;
 14&lt;br /&gt;
 15    dbms_lob.fileopen(bfile_pointer,dbms_lob.file_readonly);&lt;br /&gt;
 16&lt;br /&gt;
 17    dbms_lob.OPEN(blob_pointer,dbms_lob.lob_readwrite);&lt;br /&gt;
 18&lt;br /&gt;
 19    dbms_lob.LOADBLOBFROMFILE(blob_pointer,bfile_pointer,dbms_lob.lobmaxsize,bfile_offset,blob_offset);&lt;br /&gt;
 20&lt;br /&gt;
 21    tot_len :=DBMS_LOB.GETLENGTH(blob_pointer);&lt;br /&gt;
 22&lt;br /&gt;
 23    dbms_lob.close(blob_pointer);&lt;br /&gt;
 24&lt;br /&gt;
 25    dbms_lob.fileclose(bfile_pointer);&lt;br /&gt;
 26&lt;br /&gt;
 27    DBMS_OUTPUT.PUT_LINE(TO_CHAR(tot_len));&lt;br /&gt;
 28  END;&lt;br /&gt;
 29  /&lt;br /&gt;
DECLARE&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-22288: file or LOB operation FILEOPEN failed&lt;br /&gt;
The system cannot find the path specified.&lt;br /&gt;
ORA-06512: at &amp;quot;SYS.DBMS_LOB&amp;quot;, line 523&lt;br /&gt;
ORA-06512: at line 15&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myBlob;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Populating a BLOB column from an external BFILE==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myBlob&lt;br /&gt;
  2  (id NUMBER PRIMARY KEY,&lt;br /&gt;
  3   blob_data BLOB);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    bfile_pointer BFILE;&lt;br /&gt;
  3    blob_pointer BLOB;&lt;br /&gt;
  4    bfile_offset NUMBER :=1;&lt;br /&gt;
  5    blob_offset NUMBER :=1;&lt;br /&gt;
  6    tot_len INTEGER;&lt;br /&gt;
  7  BEGIN&lt;br /&gt;
  8&lt;br /&gt;
  9    INSERT INTO myBlob VALUES (1,EMPTY_BLOB());&lt;br /&gt;
 10&lt;br /&gt;
 11    SELECT blob_data INTO blob_pointer FROM myBlob WHERE id = 1 FOR UPDATE;&lt;br /&gt;
 12&lt;br /&gt;
 13    bfile_pointer :=bfilename(&amp;quot;BFILE_DIR&amp;quot;,&amp;quot;test.bmp&amp;quot;);&lt;br /&gt;
 14&lt;br /&gt;
 15    dbms_lob.fileopen(bfile_pointer,dbms_lob.file_readonly);&lt;br /&gt;
 16&lt;br /&gt;
 17    dbms_lob.OPEN(blob_pointer,dbms_lob.lob_readwrite);&lt;br /&gt;
 18&lt;br /&gt;
 19    dbms_lob.LOADBLOBFROMFILE(blob_pointer,bfile_pointer,dbms_lob.lobmaxsize,bfile_offset,blob_offset);&lt;br /&gt;
 20&lt;br /&gt;
 21    tot_len :=DBMS_LOB.GETLENGTH(blob_pointer);&lt;br /&gt;
 22&lt;br /&gt;
 23    dbms_lob.close(blob_pointer);&lt;br /&gt;
 24&lt;br /&gt;
 25    dbms_lob.fileclose(bfile_pointer);&lt;br /&gt;
 26&lt;br /&gt;
 27    DBMS_OUTPUT.PUT_LINE(TO_CHAR(tot_len));&lt;br /&gt;
 28  END;&lt;br /&gt;
 29  /&lt;br /&gt;
DECLARE&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-22288: file or LOB operation FILEOPEN failed&lt;br /&gt;
The system cannot find the path specified.&lt;br /&gt;
ORA-06512: at &amp;quot;SYS.DBMS_LOB&amp;quot;, line 523&lt;br /&gt;
ORA-06512: at line 15&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myBlob;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== UPDATE sets blob_column to a binary number:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE myTable (&lt;br /&gt;
  2    id          INTEGER PRIMARY KEY,&lt;br /&gt;
  3    blob_column BLOB NOT NULL&lt;br /&gt;
  4  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myTable(id, blob_column) VALUES (1, EMPTY_BLOB());&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; UPDATE myTable&lt;br /&gt;
  2  SET blob_column = &amp;quot;100111010101011111&amp;quot;&lt;br /&gt;
  3  WHERE id = 1;&lt;br /&gt;
1 row updated.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT *&lt;br /&gt;
  2  FROM myTable;&lt;br /&gt;
SP2-0678: Column or attribute type can not be displayed by SQL*Plus&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myTable;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Use update statement to change the value in blob type column==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table demo&lt;br /&gt;
  2  ( id           int primary key,&lt;br /&gt;
  3    theBlob      blob&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; update demo  set theBlob = &amp;quot;Hello World&amp;quot;&lt;br /&gt;
  2  where id = 1&lt;br /&gt;
  3  /&lt;br /&gt;
0 rows updated.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table demo;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>