Insert Image to BLOB column

Hi,
How can i insert a image/largefile into table (having BLOB column) from sql plus?
Thanks

Hi!
Do this with PL/SQL.
CREATE TABLE image_tbl
  filename VARCHAR2(4000),
  image   BLOB
DECLARE
      v_blob       BLOB;
      v_srcfile    BFILE;
BEGIN
      DBMS_LOB.CreateTemporary(v_blob, TRUE);
      DBMS_LOB.Open(v_blob, dbms_lob.Lob_ReadWrite);
      v_srcfile := Bfilename('IMAGE_DIR', 'image.gif');
      DBMS_LOB.FileOpen (v_srcfile, dbms_lob.File_ReadOnly);
      DBMS_LOB.LoadFromFile(v_blob, v_srcfile, DBMS_LOB.GetLength(v_srcfile));
      INSERT INTO image_tbl (filename, image)
      VALUES ('image.gif', EMPTY_BLOB());
      UPDATE image_tbl
      SET image = v_blob
      WHERE filename LIKE 'image.gif';
      DBMS_LOB.FileClose(v_srcfile);
      COMMIT;
END;I hope that one will help you.
yours sincerely
Florian W.

Similar Messages

  • How to insert into a blob column

    hello,
    i want to insert data ina blob column.
    table is like :
    create table test(id number(1), blolcolumn blob);
    now i want to insert the value as specified below in blobcolumn using a pl/sql block.
    can anyone help in doing this using a pl/sql block?
    value to insert: 0x8000000025CE9B0483A7ECDE8DA5EA20C681841A091BF453EF33D6F58B3F0B5A2B869F48EF2C4A1A383C00FCAA8783FC16AF6E4C9F621C6EE07C4DA9B99EB914B101E46E4BB3EDECA29242B06DD600DF2577740A5C46F3C1D937EA9D090361B1FAA40E52CC3062A1C69420802A8CC68D4F16E9717F323D335611FCBE31CB18242E67E98940000000B1372A26C661D84C565B82C4BB6FDC4B2302A58E19588F99B55F84AF31DCB950C38725A69766D7B8B651464BBC81474A2AD5ECB8F5330CECBB059C35AE725C11400000003E86D68CD30617E9912A6B685F463D06B33079920BB64EE2768564273E98E621FA2841E6CEDB5EDB17E804C810EB552AF24EC359F35B4C7A34331EFBEE71B5B5030000000100014000000023CAC269B0DB17C47B0697AECF2EA8959EAB7F87C6B9273D4C8909A15A714D1D09DFA3E7F42EE3B8345A404EEA569A86CE29C5B204AF71C29C2344500BA2989080000000941810D14BEA288632783B39A5F946E1E4174787BA39695E3DDAFB1B6306453EC968E078F970771CDD8F744409C906039B2D9424BC7EB9824E9F81F8F681CDF989403F586B86091EBF573F911E8E8285FA09B6DD996B0B28E49F64E107526597F82BD0423EA6AD55B17A85B97BAD5BD6839EE72BA5B6DE3DD9C4E21D2DF4EDF740000000C35077FBCCED395621944ECD545DA4D8F9B0109A91067A9EA81CA11C075A51686089AA705578B6428815C08BFAF57165064D97FBBCD2A67CA44B2E70CE4471F340000000C21BA30F306E87FB299AFE849F52E32FDD8D134CA463B5D82B758C96BD70A69A52E6162E10B024F14CC91CBA79D07734A893D101BE1ED2C01D43D01D1276D0ED

    I think it may give an opinion:
    SELECT to_blob( utl_raw.cast_to_raw('0x8000000025CE9B0483A7ECDE8DA5EA20C681841A091BF453EF33D6F58B3F0B5A2B869F48EF2C4A1A383C00FCAA8783FC16AF6E4C9F621C6EE07C4DA9B99EB914B101E46E4BB3EDECA29242B06DD600DF2577740A5C46F3C1D937EA9D090361B1FAA40E52CC3062A1C69420802A8CC68D4F16E9717F323D335611FCBE31CB18242E67E98940000000B1372A26C661D84C565B82C4BB6FDC4B2302A58E19588F99B55F84AF31DCB950C38725A69766D7B8B651464BBC81474A2AD5ECB8F5330CECBB059C35AE725C11400000003E86D68CD30617E9912A6B685F463D06B33079920BB64EE2768564273E98E621FA2841E6CEDB5EDB17E804C810EB552AF24EC359F35B4C7A34331EFBEE71B5B5030000000100014000000023CAC269B0DB17C47B0697AECF2EA8959EAB7F87C6B9273D4C8909A15A714D1D09DFA3E7F42EE3B8345A404EEA569A86CE29C5B204AF71C29C2344500BA2989080000000941810D14BEA288632783B39A5F946E1E4174787BA39695E3DDAFB1B6306453EC968E078F970771CDD8F744409C906039B2D9424BC7EB9824E9F81F8F681CDF989403F586B86091EBF573F911E8E8285FA09B6DD996B0B28E49F64E107526597F82BD0423EA6AD55B17A85B97BAD5BD6839EE72BA5B6DE3DD9C4E21D2DF4EDF740000000C35077FBCCED395621944ECD545DA4D8F9B0109A91067A9EA81CA11C075A51686089AA705578B6428815C08BFAF57165064D97FBBCD2A67CA44B2E70CE4471F340000000C21BA30F306E87FB299AFE849F52E32FDD8D134CA463B5D82B758C96BD70A69A52E6162E10B024F14CC91CBA79D07734A893D101BE1ED2C01D43D01D1276D0ED')) FROM dual

  • How to insert data in BLOB column??

    How to insert data in BLOB column.
    Create table BLOBTest (message BLOB)
    insert into blobtest
    (message)
    values
    ('I am loving it');
    gives error ORA-01465: invalid hex number.

    ('I am loving it');This is not considered Binary (BLOB) data. Are you sure you don't want a Character (CLOB) column?

  • How to insert  data into BLOB column  using sql

    Hi all,
    How to insert data into BLOB column directly using sql .
    create  table temp
      a blob,
      b clob);
    SQL> /
    Insert into temp  values ('32aasdasdsdasdasd4e32','adsfbsdkjf') ;
    ERROR at line 1:
    ORA-01465: invalid hex number
    Please help in this.Thanks,
    P Prakash

    see this
    How to store PDF file in BLOB column without using indirect datastore

  • How to Insert Image in a Column of a table

    Hi
    I have read several documentations but still could not find any relevant one that can help me in inserting a image in a BLOB column of a table.I have read about DBMS_LOB but still not clear how to insert an image in the table.
    I followed following steps :
    create table Emp_Identity(Id Number,Photo BLOB);
    Insert Into Emp_Identity(1,'d:\vishal.bmp');
    Please tell me steps to be followed.
    Regards
    Vishal Chaudhry
    null

    I am using Developer 2000 Forms 6i as Front End (Oracle 8.1.6)
    My table structure is:
    SQL> desc test_lob
    Name Data Type
    ID NUMBER
    NAME VARCHAR2(100)
    PHOTO BLOB
    SOUND BINARY FILE LOB
    IS there any way to display the BFILE contents on the frontend.....?
    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by vishal chaudhry ([email protected]):
    Hi,
    I could actually insert an image in a BLOB type column from the backend(Sql plus) not directly but by using BFILE and see that image on the frontend (Forms 6i Developer 2000,Item type is Image as there is nothing like BLOB/BFILE in front end) using the following procedure :
    IS there any way I can insert an image directly in a BLOB column from the backend rather than using BFILE?
    CREATE OR REPLACE PROCEDURE loadLOBFromBFILE_proc IS
    Dest_loc BLOB;
    Src_loc BFILE := BFILENAME('SOUND_DIR', '123w.bmp');
    ** SOUND_DIR is a logical directory created by giving path of the server
    ** Create Directory SOUND_DIR as 'd:\u020\o816\ctx\test'
    ** d:\u020\o816\ctx is the physical path of the server \\pslndb\ctx$
    ** test is the dummy testing directory created on the server
    ** 123w.bmp is lying in the test directory
    Amount INTEGER ;
    BEGIN
    Amount := DBMS_LOB.GETLENGTH(Src_loc);
    SELECT photo INTO Dest_loc FROM test_lob
    WHERE ID = 1
    FOR UPDATE;
    /* Opening the source BFILE is mandatory: */
    DBMS_LOB.OPEN(Src_loc, DBMS_LOB.LOB_READONLY);
    /* Opening the LOB is optional: */
    DBMS_LOB.OPEN(Dest_loc, DBMS_LOB.LOB_READWRITE);
    DBMS_LOB.LOADFROMFILE(Dest_loc, Src_loc, Amount);
    /* Closing the LOB is mandatory if you have opened it: */
    DBMS_LOB.CLOSE(Dest_loc);
    DBMS_LOB.CLOSE(Src_loc);
    COMMIT;
    END;
    <HR></BLOCKQUOTE>
    null

  • Images in Blob Column..

    Hi
    I have a function that retrieves the blob column which has the image data. I cannot view this from Toad and get the value {hugeBLOB} when I query via Toad.
    I used it in a VB.Net app, but I'm unable to reterive the image there also. Can you please suggest how I can retrieve blob column (which has images) into a .jpg format? I need to retreive the images based on the query.
    Thanks for all suggestions.
    ASR

    Hi,
    Your question is not according to Forum. You must post your thread (for immediate response) on Oracle Forum for Dot Net/VB Forum.
    But i'm going to accept your request.
    I've inserted/ saved image in oracle 9i database. And As well i've read/displayed image into Picture Control from Oracle9i database.
    But i've used C# Dot Net (Visual Studio 2005 Professional) as front hand tool.
    Sorry for VB. One thing IMPORTANT:
    I'm going mention code in C# you can Covert into VB Dot Net. Through Online FREE Compiler(www.developerfusion.co.uk/ and click on utilities.)
    --------------------------------Here Below is C# Code ----------------------------------------------------
    Con.Open();
    string myquery = "Select Form_id,Emp_image From Employee where Form_id=2840";
    OracleCommand cmd = new OracleCommand(myquery, con);
    OracleDataReader dr = cmd.ExecuteReader();
    Boolean recordExist = dr.Read();
    if (recordExist)
    //Now displaying Picture.
    MessageBox.Show("Pic is being loaded by C#. Now");
    OracleLob blob = dr.GetOracleLob(1); //Column #, Emp_image
    Byte[] BLOBData = new Byte[blob.Length];
    //Read blob data into byte array
    int i = blob.Read(BLOBData, 0, System.Convert.ToInt32(blob.Length));
    //Get the primitive byte data into in-memory data stream
    MemoryStream stmBLOBData = new MemoryStream(BLOBData);
    //LOADING INTO PICBOX1
    Picbox1.Image = Image.FromStream(stmBLOBData);
    MessageBox.Show("Now i'm reseting it.");
    Picbox1.SizeMode = PictureBoxSizeMode.StretchImage;
    Else
    MessageBox.Show("Reocrd not found against this id.");
    Hopefully it helps you. If it is still difficult to understand don't shy to make query.
    ---

  • Retreving Image from Blob Columns in forms 6i

    Hi
    I inserted image into oracle database in an BLOB column Using Form6i. The table has only two columns, One is varchar2 and other is BLOB. The time it take for inserting image is very little, but retrieving from database to form is taking time. Can anybody suggest tips to improve the speed of retrieving?
    Thanks in advance
    Ahamed Rafeeque CH

    What are you doing exactly?
    select blob_column
    from my_tablewithout a WHERE clause retrieves all images. Yes, that may take some time. Be sure to add a WHERE clause.

  • ORA-00600 error when inserting NULL in BLOB column

    Hi,
    I want to insert NULL value into a BLOB column w/o using empty_blob(), but I am getting the following error upon submission (both through program and upon directly executing it from TOAD/SQL*):
    java.sql.SQLException: ORA-00600: internal error code, arguments: [kxtotolc_lobopt], [], [], [], [], [], [], []
    The query is as follows:
    insert into image_rendering r
    (r.Version_date_time, r.id, r.Name, r.Type, r.Image_url, r.Image_filesize, r.Html, r.Original_Text, r.Redirect_url, r.Version, r.Rendering_size) values
    (sysdate, '1963884', '468x60_1.gif', '0', '225/9-468x60_1.gif', '1471', null, null, null, '1', '30670908')
    In the table r.Html, r.Original_Text are blob and clob columns respectively.
    If I remove the column r.Html (blob) and its corresponding value the following query executes fine :
    insert into image_rendering r
    (r.Version_date_time, r.id, r.Name, r.Type, r.Image_url, r.Image_filesize, r.Original_Text, r.Redirect_url, r.Version, r.Rendering_size)
    values
    (sysdate, '1963884', '468x60_1.gif', '0', '225/9-468x60_1.gif', '1471', null, null, '1', '30670908')
    I know I can also insert the query using the string empty_blob(), but I dont want to do it without using empty_blob() since it will involve changing my generic DB classes.
    The strange thing is that I created another table involving blob and clob columns through TOAD.
    In this table I can insert NULL values in the blob column without any error.
    Is there anything that can be done to insert a NULL into my blob column? Am I missing anything?
    Is there a setting in the database that will allow me to do this? cuz one table accepts null and the other doesn't. Its strange.
    I am using Oracle8i Enterprise Edition Release 8.1.7.0.0
    The query doen't execute through toad or sql* plus or through program (I am using thin oracle drivers: the usual classes12.zip file)
    thanks in advance
    - Nilesh

    From metalink
    Oracle 9i Message~~~~~~~~~~~~~~~~~
    Error:     ORA-14400 (ORA-14400)
    Text:     inserted partition key does not map to any partition
    Cause:     An attempt was made to insert a record into, a Range or Composite
         Range object, with a concatenated partition key that is beyond the
         concatenated partition bound list of the last partition -OR- An
         attempt was made to insert a record into a List object with a
         partition key that did not match the literal values specified for
         any of the partitions.
    Action:     Do not insert the key. Or, add a partition capable of accepting
         the key, Or add values matching the key to a partition
         specification
    >
    So check the date .
    What is your insert statement.
    Anand
    Edited by: Anand... on Mar 4, 2009 5:42 PM

  • Insert value to BLOB column

    Hi dearest of Friends,
    How how do I insert values to a BLOB column using SQL-DEVELOPER? Say I will save a JPEG file to it. Although I know how to display the contents of it (BLOB) using this tool, which is really a big help.
    Thanks a lot

    When you display the contents, there's a Load button to load your new content into it.
    Regards,
    K.

  • Apex 4.0 display image item :BLOB column returned by SQL statement

    Hello
    I'm creating an display image item in apex 4.0. The source is a BLOB column returned by SQL statement.
    When I'm issuing an sql statement like this:
       select lado.blob_content
       from   large_documents      lado
       ,        large_doc_headers    ladh
       where lado.ladh_nr = ladh.nr
       more criteriait works fine.
    When I create a function inside a package with the same query (in a cursor)
    function get_image(some parameters in) return blob
    Following in apex by:
    select get_image(some parameters) from dualI get a
    ORA-06502: PL/SQL: numeric or value error: character string buffer too smallAnybody any idea why this does not work?
    Regards Erik

    Hi Eric,
    the environment assumes varchar2-output by default, which will be limited to 32767 characters and may have problems with binary formats. You could define a blob-variable to select the value into.
    DECLARE
      l_blob BLOB;
    BEGIN
      SELECT get_image(some parameters)
        INTO l_blob
        FROM dual;
    END;
    /If you expect the BLOB-Content to be text (you should consider CLOB then), you may use UTL_RAW.CAST_TO_VARCHAR2 to convert the content. If your object is larger than the maximum varchar2 size, or you want to convert BLOB to CLOB, you might be interested in some converter like described here: {message:id=559749}
    Hope this is what you were searching for.
    -Udo

  • Inserting Image into BLOB field from URL

    Is it possible to insert an image into a BLOB field from a URL? I don't have access to the filesystem on the server and I have a page that uses PL/PDF to generate dynamic PDF files from data I pull from the database. I would like to include my companies official header with logo on the top of the PDFs I generate and need to somehow get the image which I currently have uploaded to the images section in Application Express and can access from the "Shared Components => Images" section of the Application Builder. I just want to be able to either query whatever table holds those images or copy the image I need to a blob field in one of my tables so I can use it in my PDF document.
    The other alternative (which is what I first mentioned above) would be to try and perform an insert into the BLOB field in my table but the location of the image file would be like "http://www.myportal.com:7777/pls/htmldb/wwv_flow_file_mgr.get_file?p_security_group_id=1234567&p_flow_id=111&p_fname=myimage.jpg".
    Is this possible? If not, what can I do?
    Thanks in advance.

    The reason why I am asking this question in this forum is two-fold:
    1. I am using Application Express (AE).
    2. Since I am using AE all images that I upload to my workspace are stored in a table in a database and not as an actual file in a directory structure like in Windows etc. This being the case, I can't ever reference any of the files that I upload to my workspace in order to insert them into my BLOB field unless I know their physical location on disk (which of course does not exist b/c they are stored in the AE database somewhere). If I knew AE's database and table structure I could do a "select into ..." from whatever table stores my uploaded images and save those images to my own custom table in my BLOB field.

  • How to display images from BLOB column via APEX 4.0

    Hello,
    I did the following in order to display images of two Oracle records on the APEX page. I am using APEX Version : 4.0.1.00.03 , Oracle DB Version : 10.2.0.4.0.
    1. Created An oracle table TEST_FORM
    with 3 columns
    ( ID number, MIME_TYPE varchar2(255) , Image BLOB )
    2. Inserted two records
    10001, image/gif, ( actual image1)
    10002, image/gif, ( actual image2)
    3. created an Oracle procedure
    CREATE OR REPLACE PROCEDURE show_my_form ( p_image_id IN test_form.id%type) AS
    l_mime test_form.mime_type%type;
    l_length NUMBER;
    l_file_name VARCHAR2 (2000);
    lob_loc test_form.IMAGE%type;
    BEGIN
    SELECT mime_type, IMAGE
    , DBMS_LOB.getlength (IMAGE)
    INTO l_mime, lob_loc, l_length
    FROM test_form
    WHERE id = p_image_id;
    owa_util.mime_header(l_mime, false);
    htp.p ('Content-length: ' || l_length);
    owa_util.http_header_close;
    wpg_docload.download_file (lob_loc);
    END show_my_form ;
    4. In Apex 4.0
    step1. Created an interactive report on a new APEX page
    step2. Specified the following in the Region Source
    select id, mime_type, '<img src="#OWNER#.show_my_form ?p_image_id=#ID#" />' photo
    from TEST_FORM
    The column result shows as <img src="CCS.show_my_form?p_image_id=#ID#" />
    I am unable to display the column image as a link to a proper image photo.
    Could you please advise me if I missed anything ?
    Thanks a lot.
    Regards
    Susanna
    Edited by: user10318332 on 13/12/2010 15:51
    Edited by: user10318332 on 13/12/2010 20:10

    Maybe the space you have before the ? is causing issues. there shouldn't be any space.
    Your procedure looks to be much the same of one that I have.
    Have you granted execute on your procedure?
    Also, what version DB are you running? This could be another issue: http://daust.blogspot.com/2006/04/xe-calling-stored-procedures.html
    But anyway, you don't need to create your own procedure these days. You could do the following:
    in your query, have a column: dbms_lob.getlength(blob) photo ; save, then in column attributes for that column, apply a format mask. There is usually a link below the text box for the format mask - BLOB Download Format Mask, which will help you build the format mask. But it is documented here: http://download.oracle.com/docs/cd/E17556_01/doc/user.40/e15517/advnc.htm#BCGGJHEF
    Ta,
    Trent

  • Reg-inserting Values to blob column

    Dear Gurus,
    I need clarification for this code.
    create table demo
    ( id        int primary key,
      theBlob    blob
    create or replace directory my_files as '/export/home/tkyte/public_html';
    declare
        l_blob    blob;
        l_bfile    bfile;
    begin
        insert into demo values ( 1, empty_blob() )
        returning theBlob into l_blob;
        l_bfile := bfilename( 'MY_FILES', 'aria.gif' );
        dbms_lob.fileopen( l_bfile );
        dbms_lob.loadfromfile( l_blob, l_bfile,
                                   dbms_lob.getlength( l_bfile ) );
        dbms_lob.fileclose( l_bfile );
    end;
    / 1) What value the l_blob variable will contain after returning clause
    2)If we load value to l_blob variable using dbms_lob.loadfromfile() procedure,will it automatically load that value in the demo table.
    Cheers,
    Jey

    The BLOB is store inside the database if that's what you mean.
    For outside storage (ie in the OS file system), you need a BFILE.
    Some precisions about the internal storage though.
    Each LOB is associated with a segment of type "LOBSEGMENT" that resides in the same tablespace as the table (at creation time).
    - LOB data can be stored "in-line" if its size is less than 4000 bytes and if the clause ENABLE STORAGE IN ROW is specified when creating table (that's the default).
    - Otherwise, data is stored in the lob segment ("out-of-line" storage).

  • Connection reset when inserting file to BLOB column

    Friends,
    When inserting a file to a BLOB clomun and the file is more than 1KB, I receive the following message: java.sql.SQLException: Io exception: Connection reset
    The code is this:
    int fileLength = (int)file.length();
    System.out.println("File length: "+fileLength);
    int cod = (int)(Math.random() * 1000);
    String sql = "INSERT INTO BLOB_TABLE VALUES(?,?)";
    try {
    FileInputStream fis = new FileInputStream(file);
    PreparedStatement pstmt = connection.prepareStatement(sql);
    pstmt.setInt(1, cod);
    pstmt.setBinaryStream(2, fis, fileLength);
    pstmt.executeUpdate();
    System.out.println("File insert sucess!");
    connection.close();
    Does anybody know what this can be? My database is oracle.
    Thanks!

    When you create objects on the database they are stored in the data dictionary by default in UPPER case.
    So in this line:
    src_loc bfile := bfilename('example_lob_dir', 'example.gif'); -- source location
    you need to reference the name of the directory object in upper case. e.g.
    src_loc bfile := bfilename('EXAMPLE_LOB_DIR', 'example.gif'); -- source location
    ;)

  • Rendering images based on BLOB columns

    Hello
    I'm using JDevelpor 10G ..
    I want to render image from BLOB column , and its the first time working with servlet , I read this article
    http://www.pascalalma.net/2008/04/22/oracle-adf-medior-rendering-images-based-on-blob-columns/
    and I want to ask some questions ??
    - How can I check that the servlet is run .. I use this to call the servlet "" Do not laugh .. I am really new "
    <af:objectImage source="/render_image?img_id=#{row.ImageId}"/>
    You should read the article to understand my question
    rgds

    done , my problem was with mapping
    If you have any problem with this case I can help
    contact me
    [email protected]

Maybe you are looking for

  • Standard vs. Pro (Links)

    I am currently working with the Standard version of Acrobat and was asked to link/embed URL addresses into my PDF file. Figuring it out was easy enough...but, I got to a point where as I added more and more links - eventually, Acrobat Standard starte

  • How to show print dialog as soon as it opens in browser

    I need to open a pdf with print dialog through AcroJS. The code that I used is: console.show(); var pp = this.getPrintParams(); pp.interactive = pp.constants.interactionLevel.full; this.print(pp); In order to add the script I used iText. I made a Pdf

  • Why won't my Apple Time Capsule Let Me Transfer files over?

    Ok so I'm using Vista and wanting to back up my data but my Apple Time Capsule won't allow me to transfer anything more than 4Gb at a time and Windows keeps displaying an error message saying there isn't enough space when there is clearly 990Gb left!

  • You Tube downloads

    I am not very savvy with the ipad. How can I download videos from You Tube? I have tried two different download aps from the ap store but I can't get either to work. I don't understand if I am using the ap browser or not. Help? I can pull up the vide

  • Windows-1256 charset

    hello. i have a problem to convert unicode(UTF-8) charset to 'windows-1256'. i wrote new String("s".getBytes("UTF8"),"windows-1256"); and when i wrote that in a jsp file and set my browser encoding to windows-1256 i saw some strange characters. pleas