Using dbms_lob

Hi,
I have a need to open blob_content files from wwv_document$ and read/print them in a portlet. Can i do that using dbms_blob?. If so can somebody guide me the steps to follow? Else is there any other way sicne the files are really huge and i need to read from DB only.
Thanks in advance
null

A lot of the answer to your question depends on what is in your BLOB and what you are trying to do with it. If you can post more details about your end goals.. and what is being stored in your documents (MS Word Docs, Random Binary Files, Images, Text files... etc) I can post specific details about what statements to use.
In general you can use DBMS_LOB.READ to pull information directly out of a BLOB. See the Packages Reference documentation for details about the syntax. When you need to pass the BLOB locator, that is just what you get when you do a simple select on the BLOB_CONTENT column in the WWDOC_DOCUMENT$ table.

Similar Messages

  • Need help in using dbms_lob.read

    I need to upload a file into an Oracle table into a Blob column. The file name along with the file contents are all in one BLOB column.
    Once that is done I need to read from the file and extract the file contents and load it into a staging table.
    File being uploaded is a *.CSV* file.
    E.g. Of the .CSV file is: ABC.csv file and its contents will look like:
    1,Hello,Nisha
    2,Hi,Ravi
    3,Bye, Rahul
    Etc…..
    Therefore the table containing the BLOB column will contain:
    File Creation_date
    ABC.csv 09/11/2009
    How can I read a file from the BLOB column and upload into a staging table?
    Final Staging table should look like:
    Record Number Greet Name
    1 Hello Nisha
    2 Hi Ravi
    3 Bye Rahul
    I think I am suppose to use dbms_lob.read, but I am not really sure how to use it. If there is any script, kindly mail me the same.
    Thanks....

    Nisha,
    Check this example (test) and see if it can be any help. I have utl_file and sqlldr
    First Method -- I loaded alert.log successfully and you can imagine how big this file can be (5MB in my test case)
    create table t1clob
    ( clob_text clob);
    CREATE OR REPLACE DIRECTORY DIR AS '/path_to_csv_file/;
    DECLARE
       clob_data   CLOB;
       clob_file   BFILE;
    BEGIN
       INSERT INTO t1clob
       VALUES (EMPTY_CLOB ())
       RETURNING clob_text INTO clob_data;
       clob_file   := BFILENAME ('DIR', ABC.csv');
       DBMS_LOB.fileopen (clob_file);
       DBMS_LOB.loadfromfile (clob_data,
                              clob_file,
                              DBMS_LOB.getlength (clob_file)
       DBMS_LOB.fileclose (clob_file);
       COMMIT;
    END;Second Method: Use of Sqlldr
    Example of controlfile
    LOAD DATA
    INFILE alert.log "STR '|\n'"
    REPLACE INTO  table t1clob
       clob_text char(30000000)
    )Hope this helps.

  • Error while creating AW using DBMS_LOB with XML..

    Hi All,
    I am trying to create AW using DBMS_LOB package with XML,
    while creating AW,i am facing the following error.find the code also below :
    declare
    xml_awcreate_clob clob;
    xml_awcreate_st varchar2(4000);
    begin
    DBMS_LOB.CREATETEMPORARY(xml_awcreate_clob,TRUE);
    dbms_lob.open(xml_awcreate_clob, DBMS_LOB.LOB_READWRITE);
    dbms_lob.writeappend(xml_awcreate_clob, 48, '<?xml version = ''1.0'' encoding = ''UTF-8'' ?>');
    dbms_lob.writeappend(xml_awcreate_clob, 43, '');
    dbms_lob.writeappend(xml_awcreate_clob, 63, '<AWXML version = ''1.0'' timestamp = ''Mon Feb 11 13:29:11 2002'' >');
    dbms_lob.writeappend(xml_awcreate_clob, 15, '<AWXML.content>');
    dbms_lob.writeappend(xml_awcreate_clob, 25, ' <Create Id="Action41">');
    dbms_lob.writeappend(xml_awcreate_clob, 19, ' <ActiveObject >');
    dbms_lob.writeappend(xml_awcreate_clob, 163, ' <AW Name="NEW_XML_AW" LongName="NEW_XML_AW" ShortName="NEW_XML_AW" PluralName="NEW_XML_AW" Id="NEW_XML.AW"/>');
    dbms_lob.writeappend(xml_awcreate_clob, 19, ' </ActiveObject>');
    dbms_lob.writeappend(xml_awcreate_clob, 11, ' </Create>');
    dbms_lob.writeappend(xml_awcreate_clob, 16, '</AWXML.content>');
    dbms_lob.writeappend(xml_awcreate_clob, 8, '</AWXML>');
    dbms_lob.close(xml_awcreate_clob);
    xml_awcreate_st := sys.interactionExecute(xml_awcreate_clob);
    end;
    ORA-21560: argument 2 is null, invalid, or out of range
    ORA-06512: at "SYS.DBMS_LOB", line 833
    ORA-06512: at line 12
    Any idea or thought on this would be appreciable.
    Thanks in advance.
    Anwar

    Did you change any of the text in the lob write statements ?
    I believe you get this error if you increase the number of characters without increasing the 1st argument which looks as though it represents the number of characters

  • Error while converting CLOB to varchar using DBMS_LOB.SUBSTR() in Oracle11g

    Hi
    Whenever I am using DBMS_LOB.SUBSTR(columnname,4000,1) package for a clob column in a simple Select Query, the following error is thrown for Oracle 11g version.
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at line 1.
    Please find the installation details of the database and the character set
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE     11.2.0.1.0     Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CHARACTERSET AL32UTF8
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    NLS_NCHAR_CHARACTERSET AL16UTF16
    NLS_RDBMS_VERSION 11.2.0.1.0
    It is working fine if I reduce from 4000 to 3500 . But I want to use 4000.
    Please let me know if any solution

    you are using a multibyte character set:
    NLS_CHARACTERSET AL32UTF8
    so each character takes between 1 and 4 bytes of storage.
    a varchar2(4000) column can only hold 4000 BYTES. Regardless of the character set - varchar2 is limited to 4000 bytes.
    In a single byte character set, that is 4000 characters as a character = a byte
    In your character set, a varchar2(4000) can hold somewhere between 1000 and 4000 characters - depending on what the characters are.
    So, you must have some CLOB whose first 4000 characters include at least one "more than one byte" character. That won't fit into a varchar2(4000)
    Your approach of backing off the substr size is reasonable (and you'll need to remember that in your application - end users can type in as little as 1000 characters and get an error about the column being too small!) as it reduces the number of BYTES to be belong 4000.

  • How to insert 10 files from a directory to database,can i use dbms_lob??

    Hii
    I want to load 10files in my local drive into a table...how to do this.I'm able to do this individually using dbms_lob.loadfromfile and bfil but ,I want to copy all the files i that drive at time to my table...Is there any way to do this..?

    Okay... Here is some sample code that will help you store the files in binary format into db tables.
    create table t_blob(bid integer, blbdata blob);
    select * from t_blob;
    create or replace directory ext_tab_dir as 'C:\Oracle\ExtTab_Dir';
    grant read, write on directory ext_tab_dir to priya;
    declare
          src_file bfile;
          dest_file blob;
          len_file pls_integer;
    begin
          src_file:=bfilename('EXT_TAB_DIR','XML.doc');
          insert into t_blob values(1,empty_blob()) returning blbdata into dest_file;
          select blbdata into dest_file
            from t_blob
           where bid=1 for update;
          dbms_lob.fileopen(src_file,dbms_lob.file_readonly);
          len_file:=dbms_lob.getlength(src_file);
          dbms_output.put_line(len_file);
          dbms_lob.loadfromfile(dest_file,src_file,len_file);
          update t_blob
             set blbdata = dest_file
           where bid = 1;
          dbms_lob.fileclose(src_file);
    end;
    /I haven't used the wrap utility yet, so not much hands on with it. I guess the wrap utility at the OS level. Not sure if it will work at SQL prompt.

  • Using DBMS_LOB.LOADCLOBFROMFILE

    Dear all,
    I got some difficulty in trying to use DBMS_LOB.LOADCLOBFROMFILE. Suppose I have this procedure that load an OS file into a CLOB and read, however I keep getting error saying that
    ERROR at line 1:
    ORA-22275: invalid LOB locator specified
    ORA-06512: at "SYS.DBMS_LOB", line 890
    ORA-06512: at "HR.SOME_PROC", line 14
    ORA-06512: at line 1This is the procedure:
    create or replace procedure some_proc is
    note_clob clob;
    note_bfile bfile;
    note_var varchar2(10000);
    warning int;
    dest_off int:=1;
    src_off int:=1;
    lang_ctx int:=0;
    amount int:=dbms_lob.lobmaxsize;
    begin
    note_clob:=empty_clob();
    note_bfile:=bfilename('TEMP_DIR','note.txt');
    dbms_lob.fileopen(note_bfile);
    dbms_lob.loadclobfromfile(note_clob,note_bfile,1000,dest_off,src_off,0,lang_ctx,warning);
    --dbms_lob.read(note_clob,amount,1,note_var);
    dbms_lob.fileclose(note_bfile);
    --dbms_output.put_line(note_var);
    end some_proc;
    /I comment out the part that reads and prints for debugging purpose. Could anybody point me out where did I do wrong on LOADCLOBFROMFILE?
    best regards,
    Val

    Specify below line before loading into target...
    DBMS_LOB.CREATETEMPORARY(note_clob,true);

  • Using DBMS_LOB.COPY - (ORA-22275)

    Hi All,
    I need to copy BLOB value from one table to another.
    For that i am using DBMS_LOB.COPY.
    I am not sure if this is the right approach. If not, can someone help me out.
    Mentioned below is my sample procedure:
    CREATE OR REPLACE PROCEDURE INS_UPD_BLOB
    i_ID number,
    o_OutputStatus OUT NUMBER,
    o_OutputMessage OUT VARCHAR2
    as
    v_blob_data_d blob;
    v_blob_data_s blob;
    amt INTEGER := 4000;
    begin
    select BLOB_DATA
    into v_blob_data_d
    from blob_test_dest -- My Destination Table
    where id = i_ID
    for update;
    select BLOB_DATA
    into v_blob_data_s
    from blob_test -- My Source Table
    where id = i_ID;
    DBMS_LOB.COPY(v_blob_data_d, v_blob_data_s, amt);
    o_OutputStatus := 0;
    o_OutputMessage := 'SUCCESS';
    EXCEPTION
    WHEN OTHERS THEN
    o_OutputStatus := -1;
    o_OutputMessage := 'Procedure ins_upd_blob Failed at step no:- '||v_ErrorFlag|| ' SQL ERROR:- '||SUBSTR(SQLERRM,1,100);
    END;
    After execution i am getting following error:
    ORA-06502: PL/SQL: numeric or value error: invalid LOB locator specified: ORA-22275
    Thanks,
    Srikanth

    how about using merge instead of dbms_lob package?
    CREATE OR REPLACE PROCEDURE INS_UPD_BLOB
    i_ID number,
    o_OutputStatus OUT NUMBER,
    o_OutputMessage OUT VARCHAR2)
    as
    v_blob_data_d blob;
    v_blob_data_s blob;
    amt INTEGER := 4000;
    begin
    merge into blob_test_dest b1
    using (select id, blob_data from blob_test) b2
    on (b1.id = i_id and b1.id = b2.id)
    when not matched then insert(b1.id, b1.blob_data) values(b2.id,b2.blob_data)
    when matched then update set b1.blob_data = b2.blob_data;
    END;
    /

  • Using dbms_lob in trigger 10gR2

    Hello,
    I'm trying to read from a clob using dbms_lob in my trigger and assigning the value to a variable. My trigger is compiling fine, but it doesn't seem to be working.
    I'm using 10gR2. Am I misunderstanding how to read from/assign to a variable in a trigger?
    Line from trigger code:
    v_serial_start := dbms_lob.instr(:new.search_xml_clob,'serial=') + 8;
    Thanks,
    Mimi

    Here's a quick example that works fine for me....
    ME_XE?create table clobberin_tyme
      2  (
      3     some_column    number,
      4     variable_value number default 0,
      5     some_clob      clob default empty_clob()
      6  );
    Table created.
    Elapsed: 00:00:03.98
    ME_XE?
    ME_XE?
    ME_XE?create or replace trigger clobberin_tymeT01
      2  before insert or update on clobberin_tyme
      3  for each row
      4  declare
      5     v_serial_start    number;
      6  begin
      7
      8     v_serial_start       := dbms_lob.instr(:new.some_clob,'serial=') + 8;
      9
    10     :new.variable_value  := v_serial_start;
    11
    12  end;
    13  /
    Trigger created.
    Elapsed: 00:00:02.62
    ME_XE?
    ME_XE?
    ME_XE?insert into clobberin_tyme (some_column) values (1);
    1 row created.
    Elapsed: 00:00:00.31
    ME_XE?
    ME_XE?select * from clobberin_tyme;
           SOME_COLUMN     VARIABLE_VALUE SOME_CLOB
                     1                  8
    1 row selected.
    Elapsed: 00:00:00.17
    ME_XE?
    ME_XE?update clobberin_tyme
      2     set   some_column = 2,
      3           some_clob = 'hello world serial= coco puffs, i am cucu for them';
    1 row updated.
    Elapsed: 00:00:00.25
    ME_XE?
    ME_XE?select * from clobberin_tyme;
           SOME_COLUMN     VARIABLE_VALUE SOME_CLOB
                     2                 21 hello world serial= coco puffs, i am cucu for them
    1 row selected.
    Elapsed: 00:00:00.01

  • Using dbms_lob append to insert text how do you insert a new line inbetween

    DBMS_LOB.APPEND (P_TEXT,'* Operator Phone,');
    ---- inbetween I need to insert new I am using DBMS_LOB.APPEND (P_TEXT,CHR(10)); IS there amy better method?
    DBMS_LOB.APPEND (P_TEXT,'* Operator Email Address,');

    Sorry if the question was not clear ---
    Lets say in the folowing example every write append needs to start on a new line followed by text. How do we do that?
    Do we add another writeappend(cvar,22, chr(10)); inbetween?
    dbms_lob.writeappend(cvar, 19, '<root><book><title>');
    dbms_lob.writeappend(cvar, length(r.title), r.title);
    dbms_lob.writeappend(cvar, 14, '</title><desc>');
    dbms_lob.writeappend(cvar, length(r.description), r.description);
    dbms_lob.writeappend(cvar, 27, '</desc></book><author_name>');
    dbms_lob.writeappend(cvar, length(r.author_name), r.author_name);
    dbms_lob.writeappend(cvar, 21, '</author_name></root>');
    Edited by: user521218 on May 7, 2009 12:34 PM

  • Use dbms_lob.loadfromfile to handle chinese character

    Hello,
    I have a database with NLS_LANG=TRADITIONAL CHINESE_HONG KONG.ZHT16BIG5
    There is a table with clob type column.
    I've tried to use dbms_lob.loadfromfile to load file content into the clob type column.
    But the result is that no matter the file is english or chinese character, the column's content will become "monster".
    Is there any method to solve this problem ?
    Can anyone help ?
    Rgds,
    Edward
    null

    Hi, it's me again.
    I just want to share my experience and hope that it can help someone and someone can help me !
    I've created a database with UTF8 as my character set.
    With session's character set = UTF8, when I tried to use dbms_lob.loadfromfile to load data into clob column from a file with chinese character content. What has been stored is "monster" character. I know that it's because bfile is with binary type and will not do character set conversion when loadfromfile is being used.
    I've tried the other way, I use dbms_lob.read to read the file and use utl_raw to convert it to UTF8 character set and store it in a varchar2. It works !
    But what I want is to store the chinese character into the clob column.
    I've tried to use the following option but still fail :
    - convert (it's seems that has no effect)
    - utl_raw.translate (it always get oracle error, I've use this as : utl_raw.translate(RAW, 'UTF8', 'UTF8'))
    - utl_raw.convert
    Hope that some have experience can help me !
    Rgds,
    Edward
    null

  • Error in using DBMS_LOB Package

    Hi,
    I am attaching a PDF File through a database procedure as shown below
    create or replace procedure load_document(document_id in number, filename IN varchar2, doc_desc IN VARCHAR2, doc_type IN VARCHAR2) as
    f_lob bfile;
    b_lob blob;
    --document_name varchar2(30);
    --mime_type varchar2(30);
    document_name oea_documents.document_name%TYPE;
    mime_type oea_documents.document_mime_type%TYPE;
    dot_pos number;
    v_file_type VARCHAR2(10);
    begin
    -- Find the position of the dot ('.') located in the filename
    dot_pos := instr(filename,'.');
    -- Get the filename without extension and use it as image name
    document_name := substr(filename,1,dot_pos-1);
    -- Build the mime type . Retrieve the file extension and add it to 'image/'
    v_file_type := SUBSTR( filename, dot_pos+1, Length(Filename) );
    IF ( UPPER(v_file_type) IN ('JPG','JPEG','TIF','TIFF','GIF') ) THEN
    mime_type := 'image/'||substr( filename , dot_pos+1 , length(filename) );
    ELSIF ( UPPER(v_file_type) = 'PDF' ) THEN
    mime_type := 'application/pdf';
    ELSIF ( UPPER(v_file_type) = 'DOC' )THEN
    mime_type := 'application/msword';
    ELSIF ( UPPER( v_file_type) = 'XLS') THEN
    mime_type := 'application/ms-excel';
    ELSE
    mime_type := 'image/'||substr( filename , dot_pos+1 , length(filename) );
    END IF;
    insert into oea_documents (document_id,
    document_name,
    document_mime_type,
    document,
    document_description,
    document_type
    values(document_id, document_name, mime_type, empty_blob(),doc_desc,doc_type) return document into b_lob;
    -- /!\ Directory name has to be UpperCase !
    f_lob := bfilename('FILE_LOAD',filename);
    o_dset_test('5');
    dbms_lob.fileopen(f_lob,dbms_lob.file_readonly);
    o_dset_test('6');
    dbms_lob.loadfromfile(b_lob,f_lob,dbms_lob.getlength(f_lob) );
    dbms_lob.fileclose(f_lob);
    commit;
    end;
    FILE_LOAD is a folder on the database server(unix).
    I have also tried to give the full path on the unix databse server instead of FILE_LOAD directory but then it gives error ora-22285.
    while executing this procedure I am getting the error ora-22288(Invalid file or directory).
    But this occurs randomly
    For instance i tried to attach a pdf file with the name cross.pdf ,it gave me the above error and when i renamed the file as Cross.pdf it attached successfully.
    The error comes whilke executing the statement dbms_lob.fileopen(f_lob,dbms_lob.file_readonly);
    Please guide on the above issue.

    Hi,
    Welcome to the forum!
    user1356624 wrote:
    f_lob := bfilename('FILE_LOAD',filename);
    FILE_LOAD is a folder on the database server(unix).
    I have also tried to give the full path on the unix databse server instead of FILE_LOAD directory but then it gives error ora-22285.The first argument to BFILENAME is the name of a directory object, as found in the directory_name column of all_directories. That is not the same thing as a folder name, which is found in the directory_path column of all_directories. Look up [CREATE DIRECTORY|http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_5007.htm#sthref6211] in the SQL Language manual for a description of Oracle's directory objects.
    If you have problems with this, post the results of
    SELECT  *
    FROM    all_directories;It might also be useful to see the Oracle "CREATE DIRECTORY" command that was used.
    As you probably noticed, this site compresses white space by default.
    When you post code or results on this site, type these 6 characters:
    (small letters only, inside curly brackets) before and after sections of formatted text, to preserve spacing.
    Edited by: Frank Kulash on Aug 10, 2009 3:35 PM
    Added link.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • PDF file created from Oracle Report is created wrongly using dbms_lob

    Hi,
    Please help. It is very urgent.
    I am using Oracle Developer 10gR2, Oracle Report 10.1.2 on Windows 2000.
    I would like to attach the PDF file created by Oracle Report to the Notification sent from Workflow.
    I use the following package procedure in my Workflow.
    procedure Create_File_Attachment (document_id   in varchar2, display_type  in varchar2,
                                                                                         document      in out blob, document_type in out varchar2)
    is
         l_itemtype          varchar2(100);
         l_itemkey           varchar2(100);
         l_output_directory  varchar2(30);
         l_filename          varchar2(255);
         src_loc             bfile;
         bdoc                blob;
         src_offset          number := 1;
         dst_offset          number := 1;
         amount              number;
    begin
         l_itemtype := substr(document_id, 1, instr(document_id, ':') - 1);
         l_itemkey := substr(document_id, instr(document_id, ':') + 1, length(document_id) - 2);
         l_output_directory := 'USR_TMP_DIR';
         l_filename := Wf_Engine.GetItemAttrText(l_itemtype, l_itemkey, 'ATR_FILENAME');
         src_loc := bfilename(l_output_directory,l_filename);
         dbms_lob.createTemporary(bdoc, FALSE, dbms_lob.call);
         dbms_lob.fileopen(src_loc, dbms_lob.file_readonly);
         dbms_lob.loadblobfromfile(bdoc,src_loc,dbms_lob.lobmaxsize,src_offset,dst_offset);
         dbms_lob.fileclose(src_loc);
         amount := dbms_lob.getLength(bdoc);
         dbms_lob.copy(document,bdoc,amount,1,1);
         document_type := 'application/pdf; name=attach.pdf';
    end Create_File_Attachment;Oracle Report created the PDF file correctly (original.pdf).
    I tried to attach the PDF into my Workflow.
    I can see the file is attached (attach.pdf), but it cannot be opened.
    The Adobe shows : 'A drawing error occured.' each time I open the attachment.
    I compare the original.pdf and the attach.pdf
    However, there is one specific difference
    - in original.pdf, the line started with '.' (single period)
    in attach.pdf, the line is started with '..' (two periods)
    Thus the attachment cannot be opened.
    After I delete the period, it can be opened.
    Question:
    - Has someone ever succeed in attaching the PDF created from Report?
    - Are the codes above is wrong?
    - Or perhaps the DBMS_LOB.LOADBLOBFROMFILE always double the single period on front of the line?
    - Is there any solution on this?
    Note:
    I have succeed in attaching PDF files unless the PDF created by the Report.
    Sorry for the long post.
    Please help. It is very urgent.
    Any help is appreciated.
    Many thanks,
    Buntoro

    Hi,
    Please help. It is very urgent.
    I am using Oracle Developer 10gR2, Oracle Report 10.1.2 on Windows 2000.
    I would like to attach the PDF file created by Oracle Report to the Notification sent from Workflow.
    I use the following package procedure in my Workflow.
    procedure Create_File_Attachment (document_id   in varchar2, display_type  in varchar2,
                                                                                         document      in out blob, document_type in out varchar2)
    is
         l_itemtype          varchar2(100);
         l_itemkey           varchar2(100);
         l_output_directory  varchar2(30);
         l_filename          varchar2(255);
         src_loc             bfile;
         bdoc                blob;
         src_offset          number := 1;
         dst_offset          number := 1;
         amount              number;
    begin
         l_itemtype := substr(document_id, 1, instr(document_id, ':') - 1);
         l_itemkey := substr(document_id, instr(document_id, ':') + 1, length(document_id) - 2);
         l_output_directory := 'USR_TMP_DIR';
         l_filename := Wf_Engine.GetItemAttrText(l_itemtype, l_itemkey, 'ATR_FILENAME');
         src_loc := bfilename(l_output_directory,l_filename);
         dbms_lob.createTemporary(bdoc, FALSE, dbms_lob.call);
         dbms_lob.fileopen(src_loc, dbms_lob.file_readonly);
         dbms_lob.loadblobfromfile(bdoc,src_loc,dbms_lob.lobmaxsize,src_offset,dst_offset);
         dbms_lob.fileclose(src_loc);
         amount := dbms_lob.getLength(bdoc);
         dbms_lob.copy(document,bdoc,amount,1,1);
         document_type := 'application/pdf; name=attach.pdf';
    end Create_File_Attachment;Oracle Report created the PDF file correctly (original.pdf).
    I tried to attach the PDF into my Workflow.
    I can see the file is attached (attach.pdf), but it cannot be opened.
    The Adobe shows : 'A drawing error occured.' each time I open the attachment.
    I compare the original.pdf and the attach.pdf
    However, there is one specific difference
    - in original.pdf, the line started with '.' (single period)
    in attach.pdf, the line is started with '..' (two periods)
    Thus the attachment cannot be opened.
    After I delete the period, it can be opened.
    Question:
    - Has someone ever succeed in attaching the PDF created from Report?
    - Are the codes above is wrong?
    - Or perhaps the DBMS_LOB.LOADBLOBFROMFILE always double the single period on front of the line?
    - Is there any solution on this?
    Note:
    I have succeed in attaching PDF files unless the PDF created by the Report.
    Sorry for the long post.
    Please help. It is very urgent.
    Any help is appreciated.
    Many thanks,
    Buntoro

  • Using dbms_lob to load image into table

    I am trying to load a set of images from my DB drive into a table. This works fine when I try to load only 1 record. If I try to load more than 1 record, first gets created but I get this error, and it doesn't load the images for the rest of them.
    ORA-22297:     warning: Open LOBs exist at transaction commit time
    Cause:     An attempt was made to commit a transaction with open LOBs at transaction commit time.
    Action:     This is just a warning. The transaction was commited successfully, but any domain or functional indexes on the open LOBs were not updated. You may want to rebuild those indexes.
    Am I missing something in the code that's needed?
    in_file UTL_FILE.FILE_TYPE;
    bf bfile;
    b blob;
    src_offset integer := 1;
    dest_offset integer := 1;
    CURSOR get_pics is select id from emp;
    BEGIN
    FOR x in get_pics LOOP
    BEGIN
    insert into stu_pic(id,student_picture)
    values(x.id,empty_blob()) returning student_picture into b;
    l_picture_uploaded := 'Y';
    bf := bfilename('INTERFACES',x.student_id || '.' || p_image_type);
    dbms_lob.fileopen(bf,dbms_lob.file_readonly);
    dbms_lob.open(b,dbms_lob.lob_readwrite);
    dbms_lob.loadBlobFromFile(b,bf,dbms_lob.lobmaxsize,dest_offset,src_offset);
    dbms_lob.close(b);
    dbms_lob.fileclose(bf);
    EXCEPTION when dup_val_on_index then null;
    END;
    END LOOP;
    END;

    There are two methods you can use.
    1. Create an external table with those images(BLOB column) and then use that external table to insert into another table.
    Demo as follows:
    This is my pdf files
    C:\Saubhik\Assembly\Books\Algorithm>dir *.pdf
    Volume in drive C has no label.
    Volume Serial Number is 6806-ABBD
    Directory of C:\Saubhik\Assembly\Books\Algorithm
    08/16/2009  02:11 PM         1,208,247 algorithms.pdf
    08/17/2009  01:05 PM        13,119,033 fci4all.com.Introduction_to_the
    d_Analysis_of_Algorithms.pdf
    09/04/2009  06:58 PM        30,375,002 sedgewick-algorithms.pdf
                   3 File(s)     44,702,282 bytes
                   0 Dir(s)   7,474,593,792 bytes free
    C:\Saubhik\Assembly\Books\Algorithm>This is my file with which I'll load the pdf files as BLOB
    C:\Saubhik\Assembly\Books\Algorithm>type mypdfs.txt
    Algorithms.pdf,algorithms.pdf
    Sedgewick-Algorithms.pdf,sedgewick-algorithms.pdf
    C:\Saubhik\Assembly\Books\Algorithm>Now the actual code
    SQL> /* This is my directory object */
    SQL> CREATE or REPLACE DIRECTORY saubhik AS 'C:\Saubhik\Assembly\Books\Algorithm';
    Directory created.
    SQL> /* Now my external table */
    SQL> /* This table contains two columns. 1.pdfname contains the name of the file
    DOC>   and 2.pdfFile is a BLOB column contains the actual pdf*/ 
    SQL> CREATE TABLE mypdf_external (pdfname VARCHAR2(50),pdfFile BLOB)
      2         ORGANIZATION EXTERNAL (
      3           TYPE ORACLE_LOADER
      4            DEFAULT DIRECTORY saubhik
      5            ACCESS PARAMETERS (
      6              RECORDS DELIMITED BY NEWLINE
      7              BADFILE saubhik:'lob_tab_%a_%p.bad'
      8              LOGFILE saubhik:'lob_tab_%a_%p.log'
      9              FIELDS TERMINATED BY ','
    10              MISSING FIELD VALUES ARE NULL
    11               (pdfname char(100),blob_file_name CHAR(100))
    12              COLUMN TRANSFORMS (pdfFile FROM lobfile(blob_file_name) FROM (saubhik) BLOB)
    13            )
    14            LOCATION('mypdfs.txt')
    15         )
    16         REJECT LIMIT UNLIMITED;
    Table created.
    SQL> SELECT pdfname,DBMS_LOB.getlength(pdfFile) pdfFileLength
      2  FROM   mypdf_external;
    PDFNAME                                            PDFFILELENGTH
    Algorithms.pdf                                           1208247
    Sedgewick-Algorithms.pdf                                30375002
    SQL> Now, you can use this table for any operation very easily. Even for your loading into another table!.
    2. Use of DBMS_LOB like this
    /* Loading a image Winter.jpg in the BLOB column as BLOB!*/
    DECLARE
      v_src_blob_locator BFILE := BFILENAME('SAUBHIK', 'Winter.jpg');
      v_amount_to_load   INTEGER := 4000;
      dest_lob_loc BLOB;
    BEGIN
      --Insert a empty row with id 1
      INSERT INTO test_my_blob_clob VALUES(1,EMPTY_BLOB(),EMPTY_CLOB())
       RETURNING BLOB_COL INTO dest_lob_loc;
      DBMS_LOB.open(v_src_blob_locator, DBMS_LOB.lob_readonly);
      v_amount_to_load := DBMS_LOB.getlength(v_src_blob_locator);
      DBMS_LOB.loadfromfile(dest_lob_loc, v_src_blob_locator, v_amount_to_load);
      DBMS_LOB.close(v_src_blob_locator);
      COMMIT;
    --id=1 is created with Winter.jpg populated in BLOB_COL and CLOB_COL is empty.  
    END;Now user this code to create a procedure with parameter and use that in loop.

  • Error while using dbms_lob.fileopen

    Hi,
    I am getting the below error when executing the code given below,
    CODE:-
    DECLARE
    l_bfile BFILE;
    l_data BLOB;
    BEGIN
    DBMS_LOB.createtemporary (lob_loc => l_data,
    CACHE => TRUE,
    dur => DBMS_LOB.CALL);
    l_bfile := BFILENAME('/home/lt/write','MIA00137.inp');
    DBMS_LOB.fileopen(l_bfile, DBMS_LOB.file_readonly);
    END;
    ERROR:-
    ORA-22285: non-existent directory or file for FILEOPEN operation
    ORA-06512: at "SYS.DBMS_LOB", line 523
    ORA-06512: at line 12
    I am using the directory path instead of using the directory name, which is my requirement. How can I overcome the above error.
    Thanks
    RKR

    You should use a directory object not a file system directory.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_5007.htm#sthref6399
    Bye Alessandro

  • Exception while updating a clob value using dbms_lob.fragment_insert

    Hi,
    Here is the query
    procedure tempProc(str3 in varchar2) is
    QI CLOB;
    -- LOB(QI) STORE AS securefile ;
    v_cursor refcursor;
    str varchar2(50);
    i number default '30';
    begin
    open v_cursor for select b.OCEAN_RATE_XML.getClobVal() from TNMAB_OCEAN_RATE_XML B
    WHERE (XMLCast(XMLQuery('declare default element namespace "http://com.oocl.schema.tnm.agreementbuilder"; (: :) /OceanOfferRate/ObjectID'
    PASSING B.OCEAN_RATE_XML RETURNING CONTENT) AS NUMBER(20))) = 200000000000050;
    fetch v_cursor into QI;
    close v_cursor;
    dbms_output.put_line('abcds'||DBMS_LOB.getlength(QI));
    dbms_lob.fragment_insert(QI,3,DBMS_LOB.getlength(QI)-17,'<abc/>');
    dbms_output.put_line('Done insert');
    DBMS_LOB.READ (QI, i, DBMS_LOB.getlength(QI)-i, str);
    --DBMS_LOB.READ(QI,20,DBMS_LOB.getlength(QI)-20,str);
    dbms_output.put_line('Doem read');
    dbms_output.put_line(str);
    end tempProc;
    I am getting the below exceptionError report:
    ORA-43856: Unsupported LOB type for SECUREFILE LOB operation
    ORA-06512: at "SYS.DBMS_LOB", line 1076
    ORA-06512: at "TNM_PLSQL.TNM_AB_QI_UPDT_PKG", line 377
    ORA-06512: at line 5
    ORA-06512: at line 9
    <OceanOfferRate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://com.oocl.schema.tnm.agreementbuilder">
    <ObjectID>200000000000050</ObjectID>
    <RateID>2</RateID>
    <AgreementID>00000002</AgreementID>
    <StartingVersion>0</StartingVersion>
    <EndingVersion>0</EndingVersion>
    <EffectiveFrom>2010-05-16T00:00:00.000000</EffectiveFrom>
    <EffectiveTo>2010-06-30T00:00:00.000000</EffectiveTo>
    <RateStatus>QuoteExpired</RateStatus>
    <ApprovalStatus>Approved</ApprovalStatus>
    <Flags>3</Flags>
    <Tariffs>015</Tariffs>
    <BaseRates>
    <SizeType>20GP</SizeType>
    <Amount>65</Amount>
    <Currency>USD</Currency>
    <EffectiveFrom>2010-05-16T00:00:00.000000</EffectiveFrom>
    <EffectiveTo>2010-06-30T00:00:00.000000</EffectiveTo>
    <Flags>0</Flags>
    </BaseRates>
    <BaseRates>
    <SizeType>40GP</SizeType>
    <Amount>100</Amount>
    <Currency>USD</Currency>
    <EffectiveFrom>2010-05-16T00:00:00.000000</EffectiveFrom>
    <EffectiveTo>2010-06-30T00:00:00.000000</EffectiveTo>
    <Flags>0</Flags>
    </BaseRates>
    <BaseRates>
    <SizeType>40HQ</SizeType>
    <Amount>100</Amount>
    <Currency>USD</Currency>
    <EffectiveFrom>2010-05-16T00:00:00.000000</EffectiveFrom>
    <EffectiveTo>2010-06-30T00:00:00.000000</EffectiveTo>
    <Flags>0</Flags>
    </BaseRates>
    <ShippingPartyGroupName>Default</ShippingPartyGroupName>
    <CustomerContactGroupName>Default</CustomerContactGroupName>
    <NamedCustomerGroupName>Default</NamedCustomerGroupName>
    <LastSentDate>2010-06-14T22:42:48.536000</LastSentDate>
    <ValidityDays>30</ValidityDays>
    <ValidityExpirationDate>2010-06-30T00:00:00.000000</ValidityExpirationDate>
    <GuidelineRateReference>
    <Trunk>
    <RateID>100001510668470</RateID>
    <SurchargeIDs>684172719752758</SurchargeIDs>
    <SurchargeIDs>626856918161564</SurchargeIDs>
    <SurchargeIDs>680028613161439</SurchargeIDs>
    <SurchargeIDs>679555629913553</SurchargeIDs>
    <SurchargeIDs>673382151283681</SurchargeIDs>
    <SurchargeIDs>679789705628181</SurchargeIDs>
    <SurchargeIDs>653835218283772</SurchargeIDs>
    <SurchargeIDs>653955477367768</SurchargeIDs>
    <SurchargeIDs>653955477367759</SurchargeIDs>
    </Trunk>
    </GuidelineRateReference>
    <CreatedOn>2010-05-16T13:40:29.201344</CreatedOn>
    <CreatedBy>KRISHSA</CreatedBy>
    <SalesPerson>COOKBR</SalesPerson>
    <SalesOffice>PHE</SalesOffice>
    <LastUpdated>2010-06-30T00:13:06.000000</LastUpdated>
    <LastUpdatedBy>TNM_APPLN</LastUpdatedBy>
    <Origins>
    <ID_Wrappers>
    <Value>100000000026067</Value>
    </ID_Wrappers>
    <ID_Wrappers>
    <Value>100000000008923</Value>
    </ID_Wrappers>
    <ID_Wrappers>
    <Value>100000000024173</Value>
    </ID_Wrappers>
    </Origins>
    <Destinations>
    <ID_Wrappers>
    <Value>100000000008923</Value>
    </ID_Wrappers>
    <ID_Wrappers>
    <Value>100000000024173</Value>
    </ID_Wrappers>
    <ID_Wrappers>
    <Value>100000000013006</Value>
    </ID_Wrappers>
    <ID_Wrappers>
    <Value>100000000046704</Value>
    </ID_Wrappers>
    </Destinations>
    <DeliveryMode>YY</DeliveryMode>
    <TradeLane>IAT</TradeLane>
    <Commodity>
    <Description>Cotton for test</Description>
    <CargoNatureGroup>32</CargoNatureGroup>
    </Commodity>
    <RateLevel>1</RateLevel>
    </OceanOfferRate>
    Any advise if there is any other ways to update the clob with additional information at the end of the XML before </OceanOfferRate> ?

    A quick example illustrating what I mean :
    Settings
    SQL> create table department_xml (
      2    xmldoc xmltype
      3  , depid  number(4) as
      4    (
      5      xmlcast(
      6        xmlquery('declare default element namespace "http://some.namespace.org"; (: :)
      7                  /Department/@ID' passing xmldoc returning content)
      8        as number(4)
      9      )
    10    ) virtual
    11  )
    12  xmltype xmldoc store as binary xml
    13  ;
    Table created.
    SQL> create unique index department_xml_depid_uix on department_xml (depid);
    Index created.
    SQL> insert into department_xml (xmldoc)
      2  select xmlelement("Department",
      3           xmlattributes('http://some.namespace.org' as "xmlns"
      4                        , department_id as "ID")
      5         , xmlforest(
      6             d.department_name as "departmentName"
      7           , d.manager_id as "managerID"
      8           , xmlforest(
      9               l.street_address as "street"
    10             , l.postal_code as "zipcode"
    11             , l.city as "city"
    12             , l.state_province as "state"
    13             , c.country_name as "country"
    14             ) as "address"
    15           )
    16         )
    17  from hr.departments d
    18       join hr.locations l on l.location_id = d.location_id
    19       join hr.countries c on c.country_id = l.country_id
    20  ;
    27 rows created.
    SQL> commit;
    Commit complete.
    Sample document
    SQL> select xmlserialize(document xmldoc as clob indent) from department_xml where depid = 50;
    XMLSERIALIZE(DOCUMENTXMLDOCASCLOBINDENT)
    <Department xmlns="http://some.namespace.org" ID="50">
      <departmentName>Shipping</departmentName>
      <managerID>121</managerID>
      <address>
        <street>2011 Interiors Blvd</street>
        <zipcode>99236</zipcode>
        <city>South San Francisco</city>
        <state>California</state>
        <country>United States of America</country>
      </address>
    </Department>
    Updating each doc with the list of employees from the corresponding department
    SQL> UPDATE department_xml d
      2  SET d.xmldoc =
      3      insertChildXMLBefore(
      4        d.xmldoc
      5      , '/Department'
      6      , 'address'
      7      , (
      8          select xmlelement("employees",
      9                   xmlagg(
    10                     xmlelement("employee",
    11                       xmlattributes(e.employee_id as "ID")
    12                     , xmlforest( e.first_name || ' ' || e.last_name as "employeeName"
    13                                , e.hire_date as "hireDate"
    14                                , e.salary as "salary" )
    15                     )
    16                     order by e.employee_id
    17                   )
    18                 )
    19          from hr.employees e
    20          where e.department_id = d.depid
    21        )
    22      , 'xmlns="http://some.namespace.org"'
    23      )
    24  ;
    27 rows updated.
    Checking...
    SQL> select xmlserialize(document xmldoc as clob indent) from department_xml where depid = 50;
    XMLSERIALIZE(DOCUMENTXMLDOCASCLOBINDENT)
    <Department xmlns="http://some.namespace.org" ID="50">
      <departmentName>Shipping</departmentName>
      <managerID>121</managerID>
      <employees>
        <employee ID="120">
          <employeeName>Matthew Weiss</employeeName>
          <hireDate>2004-07-18</hireDate>
          <salary>8000</salary>
        </employee>
        <employee ID="121">
          <employeeName>Adam Fripp</employeeName>
          <hireDate>2005-04-10</hireDate>
          <salary>8200</salary>
        </employee>
        <employee ID="122">
          <employeeName>Payam Kaufling</employeeName>
          <hireDate>2003-05-01</hireDate>
          <salary>7900</salary>
        </employee>
        <employee ID="123">
          <employeeName>Shanta Vollman</employeeName>
          <hireDate>2005-10-10</hireDate>
          <salary>6500</salary>
        </employee>
        <employee ID="124">
          <employeeName>Kevin Mourgos</employeeName>
          <hireDate>2007-11-16</hireDate>
          <salary>5800</salary>
        </employee>
        <employee ID="125">
          <employeeName>Julia Nayer</employeeName>
          <hireDate>2005-07-16</hireDate>
          <salary>3200</salary>
        </employee>
        <employee ID="126">
          <employeeName>Irene Mikkilineni</employeeName>
          <hireDate>2006-09-28</hireDate>
          <salary>2700</salary>
        </employee>
        <employee ID="127">
          <employeeName>James Landry</employeeName>
          <hireDate>2007-01-14</hireDate>
          <salary>2400</salary>
        </employee>
        <employee ID="128">
          <employeeName>Steven Markle</employeeName>
          <hireDate>2008-03-08</hireDate>
          <salary>2200</salary>
        </employee>
        <employee ID="129">
          <employeeName>Laura Bissot</employeeName>
          <hireDate>2005-08-20</hireDate>
          <salary>3300</salary>
        </employee>
        <employee ID="130">
          <employeeName>Mozhe Atkinson</employeeName>
          <hireDate>2005-10-30</hireDate>
          <salary>2800</salary>
        </employee>
        <employee ID="131">
          <employeeName>James Marlow</employeeName>
          <hireDate>2005-02-16</hireDate>
          <salary>2500</salary>
        </employee>
        <employee ID="132">
          <employeeName>TJ Olson</employeeName>
          <hireDate>2007-04-10</hireDate>
          <salary>2100</salary>
        </employee>
        <employee ID="133">
          <employeeName>Jason Mallin</employeeName>
          <hireDate>2004-06-14</hireDate>
          <salary>3300</salary>
        </employee>
        <employee ID="134">
          <employeeName>Michael Rogers</employeeName>
          <hireDate>2006-08-26</hireDate>
          <salary>2900</salary>
        </employee>
        <employee ID="135">
          <employeeName>Ki Gee</employeeName>
          <hireDate>2007-12-12</hireDate>
          <salary>2400</salary>
        </employee>
        <employee ID="136">
          <employeeName>Hazel Philtanker</employeeName>
          <hireDate>2008-02-06</hireDate>
          <salary>2200</salary>
        </employee>
        <employee ID="137">
          <employeeName>Renske Ladwig</employeeName>
          <hireDate>2003-07-14</hireDate>
          <salary>3600</salary>
        </employee>
        <employee ID="138">
          <employeeName>Stephen Stiles</employeeName>
          <hireDate>2005-10-26</hireDate>
          <salary>3200</salary>
        </employee>
        <employee ID="139">
          <employeeName>John Seo</employeeName>
          <hireDate>2006-02-12</hireDate>
          <salary>2700</salary>
        </employee>
        <employee ID="140">
          <employeeName>Joshua Patel</employeeName>
          <hireDate>2006-04-06</hireDate>
          <salary>2500</salary>
        </employee>
        <employee ID="141">
          <employeeName>Trenna Rajs</employeeName>
          <hireDate>2003-10-17</hireDate>
          <salary>3500</salary>
        </employee>
        <employee ID="142">
          <employeeName>Curtis Davies</employeeName>
          <hireDate>2005-01-29</hireDate>
          <salary>3100</salary>
        </employee>
        <employee ID="143">
          <employeeName>Randall Matos</employeeName>
          <hireDate>2006-03-15</hireDate>
          <salary>2600</salary>
        </employee>
        <employee ID="144">
          <employeeName>Peter Vargas</employeeName>
          <hireDate>2006-07-09</hireDate>
          <salary>2500</salary>
        </employee>
        <employee ID="180">
          <employeeName>Winston Taylor</employeeName>
          <hireDate>2006-01-24</hireDate>
          <salary>3200</salary>
        </employee>
        <employee ID="181">
          <employeeName>Jean Fleaur</employeeName>
          <hireDate>2006-02-23</hireDate>
          <salary>3100</salary>
        </employee>
        <employee ID="182">
          <employeeName>Martha Sullivan</employeeName>
          <hireDate>2007-06-21</hireDate>
          <salary>2500</salary>
        </employee>
        <employee ID="183">
          <employeeName>Girard Geoni</employeeName>
          <hireDate>2008-02-03</hireDate>
          <salary>2800</salary>
        </employee>
        <employee ID="184">
          <employeeName>Nandita Sarchand</employeeName>
          <hireDate>2004-01-27</hireDate>
          <salary>4200</salary>
        </employee>
        <employee ID="185">
          <employeeName>Alexis Bull</employeeName>
          <hireDate>2005-02-20</hireDate>
          <salary>4100</salary>
        </employee>
        <employee ID="186">
          <employeeName>Julia Dellinger</employeeName>
          <hireDate>2006-06-24</hireDate>
          <salary>3400</salary>
        </employee>
        <employee ID="187">
          <employeeName>Anthony Cabrio</employeeName>
          <hireDate>2007-02-07</hireDate>
          <salary>3000</salary>
        </employee>
        <employee ID="188">
          <employeeName>Kelly Chung</employeeName>
          <hireDate>2005-06-14</hireDate>
          <salary>3800</salary>
        </employee>
        <employee ID="189">
          <employeeName>Jennifer Dilly</employeeName>
          <hireDate>2005-08-13</hireDate>
          <salary>3600</salary>
        </employee>
        <employee ID="190">
          <employeeName>Timothy Gates</employeeName>
          <hireDate>2006-07-11</hireDate>
          <salary>2900</salary>
        </employee>
        <employee ID="191">
          <employeeName>Randall Perkins</employeeName>
          <hireDate>2007-12-19</hireDate>
          <salary>2500</salary>
        </employee>
        <employee ID="192">
          <employeeName>Sarah Bell</employeeName>
          <hireDate>2004-02-04</hireDate>
          <salary>4000</salary>
        </employee>
        <employee ID="193">
          <employeeName>Britney Everett</employeeName>
          <hireDate>2005-03-03</hireDate>
          <salary>3900</salary>
        </employee>
        <employee ID="194">
          <employeeName>Samuel McCain</employeeName>
          <hireDate>2006-07-01</hireDate>
          <salary>3200</salary>
        </employee>
        <employee ID="195">
          <employeeName>Vance Jones</employeeName>
          <hireDate>2007-03-17</hireDate>
          <salary>2800</salary>
        </employee>
        <employee ID="196">
          <employeeName>Alana Walsh</employeeName>
          <hireDate>2006-04-24</hireDate>
          <salary>3100</salary>
        </employee>
        <employee ID="197">
          <employeeName>Kevin Feeney</employeeName>
          <hireDate>2006-05-23</hireDate>
          <salary>3000</salary>
        </employee>
        <employee ID="198">
          <employeeName>Donald OConnell</employeeName>
          <hireDate>2007-06-21</hireDate>
          <salary>2600</salary>
        </employee>
        <employee ID="199">
          <employeeName>Douglas Grant</employeeName>
          <hireDate>2008-01-13</hireDate>
          <salary>2600</salary>
        </employee>
      </employees>
      <address>
        <street>2011 Interiors Blvd</street>
        <zipcode>99236</zipcode>
        <city>South San Francisco</city>
        <state>California</state>
        <country>United States of America</country>
      </address>
    </Department>

Maybe you are looking for

  • Mail application will not open after upgrading to Yosemite. HELP !!

    After upgrading to Yosemite, my mail will not open... I get the following message; The last time you opened Mail, it unexpectedly quit while reopening windows. Do you want to try to reopen its windows again? Options are Don't Reopen or Reopen....

  • Bought a used HP Coler Laserjet 4700N and don't know how to hook up.

    I just bought a HP Color Laserjet 4700n printer from a place that just sold out.  I didn't any cords to connect it to my Del Dimensions E520 couputer.   I am just a computer user and connecting this printer sounds a bit complicated.  I didn't get any

  • GPS (AUTOMOTIVE) FOR MAC

    I want to buy a GPS system for my car. All the systems are PC compatible which does not include the Mac. There must be a Mac user out there who has an automotive GPS system. How do you get around the compatibility issue? Boot Camp looks a bit hairy.

  • How to Summarize All items in A/R Invoice from 4 delivery documents

    Hi guyz, Is there a way to summarize all same items when copying 4 delivery documents to 1 a/r invoice? Summarizing all same items in one row. Regards, Michael

  • CAT6 and PT60 log search related

    Hi all, I have scheduled CAT6 and PT60 as scheduled back ground jobs. How do I check the error/processed log for both these Tcodes???