Uploading clob column's data into table

Hello everyone ...
I used webutil to opload data into blob column then converted blob to clob ... what i have now is comma delimited data that i want to put into a table...
so , if i have the clob column like this
1,adam,11/08/08,accountant
2,john,12/08/09,clerk
and the destination table is :
ID,
NAME,
Hire_date,
Job
how can i put the 1 in the ID , adam in the name and so on?
I need help urgent please
Thanks alot

perhaps its easier to directly read the file using CLIENT_TEXTIO line by line instead of first transfering it into the database and then extracting it from there again.
Code example for CLIENT_TEXTIO (not tested):
DECLARE
  tf CLIENT_TEXT_IO.FILE_TYPE;
  vcBuffer VARCHAR2(32000);
  nId NUMBER;
  vcName VARCHAR2(4000);
  dtHiredate DATE;
  vcJob VARCHAR2(4000);
  FUNCTION FK_SPLIT(io_vcText IN OUT VARCHAR2)
  RETURN VARCHAR2 IS 
    vcReturn VARCHAR2(4000);
  BEGIN
    IF INSTR(io_vcText, ',')>0 THEN
      vcReturn:=SUBSTR(io_vcText, 1, INSTR(io_vcText, ',')-1);
      io_vcText:=SUBSTR(io_vcText, INSTR(io_vcText, ',')+1);
    ELSE
      vcReturn:=io_vcText;
      io_vcText:=NULL;
    END IF;
    RETURN vcReturn;
  END;
BEGIN
  tf:=CLIENT_TEXT_IO.FOPEN('filename', 'r');
  LOOP
    BEGIN
      -- read data line by line
      CLIENT_TEXT_IO.GET_LINE(tf, vcBuffer);
      -- split buffer into vars
      nId:=TO_NUMBER(FK_SPLIT(vcBuffer));
      vcName:=FK_SPLIT(vcBuffer);
      dtHireDate:=TO_DATE(FK_SPLIT(vcBuffer), 'dd/mm/yyyy');
      vcJob:=FK_SPLIT(vcBuffer);
      INSERT INTO DEST_TABLE (
        ID,
        NAME,
        HIRE_DATE,
        JOB
      ) VALUES (
        nId,
        vcName,
        dtHireDate,
        vcJob
    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        EXIT;
  END LOOP;
  CLIENT_TEXT_IO.FCLOSE(tf);
END;(not tested)
If your importing large files it might be better to upload the file to the oas using WEBUTIL_FILE.CLIENT_TO_AS and then use TEXT_IO instead of CLIENT_TEXT_IO.
Edited by: Andreas Weiden on 04.12.2008 20:47

Similar Messages

  • Usage of sequence for uploading data into tables(column store) using CSV

    How to make use of sequence when data is uploaded into table(column store) with the CSV file ?

    Hi Sharada,
    You may have to follow the below steps:
    1) To load the data from flat file to a Staging table using IMPORT command
    2) You have to call the procedure to load the data further into final Table.
    a) Have a look on this procedure to load data :
    SAP HANA: Generic Procedure using Arrays to Load delta data into Tables
    b) See my reply on the syntax on how to use "Sequence"
    Auto-Incrementor in stored procedure!
    You will have to ensure that you frame your insert query in such a way to have the sequence number in the target table.
    Regards,
    Krishna Tangudu

  • Ability to Import Spreadsheet Data into Table in Apps added Anytime Soon??

    I love HTMLDB so much, and I thought I would never find anything it couldn't do, but I have run headlong into a problem that I've discovered many users have.
    The Import Spreadsheet Data into Table functionality available in Data Workshop is such a treasure, and I was hoping with all of my heart that such functionality would be available for use inside the User Applications in HTMLDB 2.0. Alas, it is not so.
    I know some brave folks have come up with work-arounds for this lack, and I applaud them. However, none of those will work for the situation I am faced with. I am about to strike out into the no-man's-land of trying to create my own PL/SQL csv file parsing function. Please wish me luck. Also, could you please tell me if this functionality is going to be included anytime soon?

    Well I looked at the FLOWS_020000.WWV_FLOW_LOAD_DATA.LOAD_CSV_DATA procedure
    From what I can gather(considering nobody cant look at the actual procedural code):
    P_FILE_ID seems to be file id you find in FLOWS_FILES.WWV_FLOW_FILE_OBJECTS$
    P_CNAMES seems to be the column names of table you are loading into
    P_UPLOAD seems to be the names of field from file you are loading
    P_SCHEMA seems to be the schema that contains table where data will be loaded
    P_TABLE seems to be table that you load data into
    P_DATA_TYPE seems to be the datatypes from file to be loaded
    P_DATA_FORMAT not sure
    P_PARSED_DATA_FORMAT not sure
    P_SEPARATOR seems to be the field seperator from file
    P_ENCLOSED_BY seems to be what fields will be enclosed with
    P_FIRST_ROW_IS_COL_NAME seems to be to tell whether or not first row contains column headings
    P_LOAD_TO not sure
    P_CURRENCY seems to be the currency symbol that comes from file
    P_NUMERIC_CHARS not sure
    P_CHARSET not sure
    P_LOAD_ID not sure
    Essentially you could run this process provided you get all the kinks worked out(that is what all the parameters mean/are expected)...
    ...or..
    you write your own process:
    - that reads the blob/clob content line by line
    declare
    n number;
    buffer varchar2(4000);
    begin
    (do some sort of loop until end of length of lob)
    n := dbms_lob.instr( "your lob", ',',"next comma position" );
    if ( nvl(n,0) > 0 )
    then
    buffer := dbms_lob.read( p_lob, "amount of lob length to read", n);
    end if;
    end;
    The above code with some tweaking will read the lob. However you still will have to add a piece that creates sql insert statement. One of the pitfalls I see with custom code is the fact that if you end up with huge lob string you will run into problem of creating sql insert statement. Not the actual statement but assigning the statement to a variable due to datatype lengths.
    Hopefully this will help you more in the right direction!

  • Error occured while inserting XML file data into table.

    Hello,
    I m trying to load xml data into table by following code.but getting below error
    Error at line 1
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00222: error received from SAX callback function
    ORA-06512: at "SYS.DBMS_XMLSTORE", line 78
    ORA-06512: at line 21
    DECLARE
      xmldoc   clob;
      insCtx   DBMS_XMLStore.ctxType;
      dname    varchar2(20) := 'MDIR';
      rows  number;
    BEGIN
        xmldoc := dbms_xslprocessor.read2clob(dname, 'try_xm3.xml');
        insCtx := DBMS_XMLStore.newContext('try1');
    dbms_output.put_line('1');
        DBMS_XMLStore.setRowTag(insCtx, 'cajas');
    rows := DBMS_XMLStore.insertXML(insCtx, xmlDoc);
    commit;
      dbms_output.put_line('INSERT DONE '||TO_CHAR(rows));
      DBMS_XMLStore.closeContext(insCtx);
    END;
    <?xml version="1.0" encoding="utf-8"?>
    <cajas xmlns="PBcion.Caja" fec="2011-03-02T14:20:14" codDeleg="093">
      <caj codPrev="80001223" fechaInicio="2011-03-02" fec="2011-09-02" couta="01" idPerio="1" caj="32"></caj>
    </cajas>can you please look into this?
    I m using oracle 10g

    SQL> create table try1
      2  (
      3  codPrev number,
      4  fechaInicio varchar2(25),
      5  fec varchar2(25),
      6  couta number,
      7  idPerio number,
      8  caj number
      9  );
    Table created
    SQL>
    SQL> insert into try1 (codprev, fechainicio, fec, couta, idperio, caj)
      2  select x.codprev, x.fechainicio, x.fec, x.couta, x.idperio, x.caj
      3  from xmltable(
      4         xmlnamespaces(default 'PBcion.Caja')
      5       , '/cajas/caj'
      6         passing xmltype(bfilename('TEST_DIR','try_xm3.xml'), nls_charset_id('AL32UTF8'))
      7         columns codPrev     number       path '@codPrev'
      8               , fechaInicio varchar2(25) path '@fechaInicio'
      9               , fec         varchar2(25) path '@fec'
    10               , couta       number       path '@couta'
    11               , idPerio     number       path '@idPerio'
    12               , caj         number       path '@caj'
    13       ) x
    14  ;
    1 row inserted
    SQL> select * from try1;
       CODPREV FECHAINICIO               FEC                            COUTA    IDPERIO        CAJ
      80001223 2011-03-02                2011-09-02                         1          1         32
    Since the two date attributes are coming in the W3C's xs:date format, you can directly define the corresponding columns as DATE and use a DATE projection in XMLTable :
    SQL> alter table try1 modify (fechainicio date);
    Table altered
    SQL> alter table try1 modify (fec date);
    Table altered
    SQL>
    SQL> insert into try1 (codprev, fechainicio, fec, couta, idperio, caj)
      2  select x.codprev, x.fechainicio, x.fec, x.couta, x.idperio, x.caj
      3  from xmltable(
      4         xmlnamespaces(default 'PBcion.Caja')
      5       , '/cajas/caj'
      6         passing xmltype(bfilename('TEST_DIR','try_xm3.xml'), nls_charset_id('AL32UTF8'))
      7         columns codPrev     number       path '@codPrev'
      8               , fechaInicio date         path '@fechaInicio'
      9               , fec         date         path '@fec'
    10               , couta       number       path '@couta'
    11               , idPerio     number       path '@idPerio'
    12               , caj         number       path '@caj'
    13       ) x
    14  ;
    1 row inserted
    SQL> select * from try1;
       CODPREV FECHAINICIO FEC              COUTA    IDPERIO        CAJ
      80001223 02/03/2011  02/09/2011           1          1         32

  • How can I load data into table with SQL*LOADER

    how can I load data into table with SQL*LOADER
    when column data length more than 255 bytes?
    when column exceed 255 ,data can not be insert into table by SQL*LOADER
    CREATE TABLE A (
    A VARCHAR2 ( 10 ) ,
    B VARCHAR2 ( 10 ) ,
    C VARCHAR2 ( 10 ) ,
    E VARCHAR2 ( 2000 ) );
    control file:
    load data
    append into table A
    fields terminated by X'09'
    (A , B , C , E )
    SQL*LOADER command:
    sqlldr test/test control=A_ctl.txt data=A.xls log=b.log
    datafile:
    column E is more than 255bytes
    1     1     1     1234567------(more than 255bytes)
    1     1     1     1234567------(more than 255bytes)
    1     1     1     1234567------(more than 255bytes)
    1     1     1     1234567------(more than 255bytes)
    1     1     1     1234567------(more than 255bytes)
    1     1     1     1234567------(more than 255bytes)
    1     1     1     1234567------(more than 255bytes)
    1     1     1     1234567------(more than 255bytes)

    Check this out.
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96652/ch06.htm#1006961

  • Error While Inserting Data into table using OAF

    Hi Experts,
    I am learning OAF; i am trying into insert the data into table using OAF. I followed the below procedure.
    My table(OLF_TEST_TBL) Columns:
    EmpID (Number), Ename(VARCHAR2 100), Sal Number, and who columns.
    1. created Application Module (AM).
    package: oracle.apps.mfg.simplepg.server
    name: oaf_test_tbl_am
    2. created simple page
    name:EmployeePG
    package:oracle.apps.mfg.simplepg.webui
    3. Assigned the Application Module to Page
    4. Created Entity Object(EO)
    name:oaf_test_tbl_eo
    package:oracle.apps.mfg.simplepg.schema.server
    schema:apps
    table:OLF_TEST_TBL
    note:
    1. EMPID column is selected as primary key
    2. selected create method, remove method and validation method.
    3.checked generate default view object
    VO:
    name:olf_test_tbl_vo
    note: Entity Object was assigned to VO
    Coming To page:
    page main region:EmployeeMainRN
    1.under main region i created one more region using wizard
    selected AM and VO, region style-default single column
    2. under main region i created one more region
    region style- pagebuttonbar, ID:pagebutoonsRN
    3. under pagebuttonRN, created two submit buttons(ID:SUBMIT, ID:CANCEL).
    In AM java page:
    created a method to insert row and for commit.
    Insert Method:
    public void insertrow(){
    OAViewObject vo=(OAViewObject)getoaf_test_tbl_vo1();
    if(!vo.isPreparedForExecution()){
    vo.executeQuery();
    Row row=vo.createRow();
    vo.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    Commit Method:
    public void savaDataTooaftesttable(){
    getDBTransaction().commit();
    In EmployeeMainRN, created a controller.
    In this controller process request method, 'insertrow' method was called.
    import oracle.apps.fnd.framework.OAApplicationModule;
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    if (!pageContext.isFormSubmission())
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    am.invokeMethod("insertrow");
    To commit the transaction when SUBMIT button pressed, commit method was called in process form request method.
    import oracle.apps.fnd.framework.OAViewObject;
    public void processformRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    if (pageContext.getParameter("SUBMIT") != null)
    am.invokemethod("savaDataTooaftesttable");
    Error After clicking the submit button_
    I ran the page, page was opened successfully. Once i enter data and click submit button, it's giving the following error.
    The requested page contains stale data. This error could have been caused through the use of the browser's navigation buttons (the browser Back button, for example). If the browser's navigation buttons were not used, this error could have been caused by coding mistakes in application code. Please check Supporting the Browser Back Button developer guide - View Object Primary Key Comparison section to review the primary causes of this error and correct the coding mistakes.
    Cause:
    The view object oaf_test_tbl_am.oaf_test_tbl_vo1700_oaf_test_tbl_vo1_practice_test_prc1_oracle_apps_mfg_simplepg_server_oaf_test_tbl_am.oaf_test_tbl_vo1 contained no record. The displayed records may have been deleted, or the current record for the view object may not have been properly initialized.
    To proceed, please select the Home link at the top of the application page to return to the main menu. Then, access this page again using the application's navigation controls (menu, links, and so on) instead of using the browser's navigation controls like Back and Forward.
    Experts, Kindly help me why i am getting this error.
    Awating your replies.
    Thanks in advance.

    If you dont want to create message. You can throw exception like below as well
              throw new OAException("Emp Id is "+empId+" and employee name is "+empName, OAException.CONFIRMATION);Thanks
    --Anil                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Insert data into table from JSP page using Entity Beans(EJB 3.0)

    I want to insert data into a database table from JSP page using Entity Beans(EJB 3.0).
    1. I have a table 'FRIENDS', (in Oracle 10g database).
    2. It has two columns, 'NAME' and 'CITY'. Both have datatype strings(varchar2).
    3. Now from a JSP page, having two textfields, 'NAME' and 'CITY', I want to insert data into table 'FRIENDS'.
    4. In between JSP and database is a Entity Bean(EJB 3.0) and a stateless session bean.
    5. I am using JDev as editor.
    Please provide me code ASAP or link with similar example.
    Thank you.
    Anurag

    Hi,
    I am also trying that scenario. So u can
    Post the jsp form data to a Servlet which will act as a Controller.
    In the servlet invoke the business method.
    Similar kind of app is in www.roseindia.net
    Hope this would help u.
    Meanwhile if u get any optimal solution, pls post it.
    Thanks,
    Happy Java Coding.

  • How can i open a DOC or TXT file and insert the data into table?

    How can i open a DOC or TXT file and insert the data into table?
    I have a doc file . the doc include some columns and some rows.(for example 'ID,Name,Date,...').
    I'd like open DOC file and I'd like insert them into the table with same columns.
    Thanks.

    Use the SQL*Loader utility or the UTL_FILE package.

  • Insert data into table 1 but remove the duplicate data

    hello friends,
    i m trying to insert data into table tab0 using hints,
    query is like this..
    INSERT INTO /*+ APPEND PARALLEL(tab0) */ tab NOLOGGING
    (select /*+ parallel(tab1)*/
    colu1,col2
    from tab1 a
    where a.rowid =(select max (b.rowid) from tab2 b))
    but this query takes too much time around 5 hrs...
    bz data almost 40-50 lacs.
    i m using
    a.rowid =(select max (b.rowid) from tab2 b))....
    this is for remove the duplicate data..
    but it takes too much time..
    so please can u suggest me any ohter option to remove the duplicate data so it
    resolved the optimization problem.
    thanks in advance.

    In the code you posted, you're inserting two columns into the destination table. Are you saying that you are allowed to have duplicates in those two columns but you need to filter out duplicates based on additional columns that are not being inserted?
    If you've traced the session, please post your tkprof results.
    What does "table makes bulky" mean? You understand that the APPEND hint is forcing the insert to happen above the high water mark of the table, right? And you understand that this prevents the insert from reusing space that has been freed up because of deleted in the table? And that this can substantially increase the cost of full scans on the table. Did you benchmark the INSERT without the APPEND hint?
    Justin

  • Insert Data into Table from TXT or CSV file !!!!!

    Dear All,
    Recently I have started working on APEX. In Oracle Forms, we used to use TEXT_IO for inserting records into tables from txt files. Now I want to do the same thing in apex 3.2. How can I insert data into tables from txt of csv files.
    Waiting of your valuable suggestions.
    With kind regards,
    Yousuf.

    Yousuf
    wwv_flow_files is used by APEX to hold uploaded files.
    If you incorporate a file browse item on you page, browse for the selected file, then submit the page (having the PL/SQL process described as an on suibmit process) then what I detailed should work.
    If you don't need users to have access to this then just go to Home>Utilities>Data Load/Unload in APEX and there is a handy load utility there that does it all for you.
    Cheers
    Ben

  • Dumping data into tables directly

    Hi there,
    Is it possible to just dump data into tables directly (matching file structures)?
    Or do we need to use GUI_UPLOAD and then insert them via ABAP statements?
    Thanks,
    Muji

    Hi,
    what is ur requirement exactly.
    There are ways to upload data into database table.
    u can use XI to uplaod data to SAP.
    if it is user data creation, u can create a maintenance dialog and create data thru SE30.
    But if u want to insert volumes of data and need them to be validated as well, u post them thru transactions. this is bDC.
    If u want to upload master data, u use LSMW or direct input.
    If u want to just do direct insert u need to do coding and map the data and insert intot he database,
    but for all these u need abap coding which involves uploading and downloading.

  • FDMEE Import error "No periods were identified for loading data into table 'AIF_EBS_GL_BALANCES_STG'

    Hi,
    We are having trouble while importing one ledger 'GERMANY EUR GGAAP'. It works for Dec 2014 but while trying to import data for 2015 it gives an error.
    Import error shows " RuntimeError: No periods were identified for loading data into table 'AIF_EBS_GL_BALANCES_STG'."
    I tried all Knowledge docs from Oracle support but no luck. Please help us resolving this issue as its occurring in our Production system.
    I also checked all period settings under Data Management> Setup> Integration Setup > Global Mapping and Source Mapping and they all look correct.
    Also its only happening to one ledger rest all ledgers are working fine without any issues.
    Thanks

    Hi,
    there are some Support documents related to this issue.
    I would suggest you have a look to them.
    Regards

  • How to insert data into table control

    hi experts,,
           i have inserted data into data base table through table control .
    now i want to insert data into table control through database table.
      how to delete data from table control for selected row

    Hi
    go through this link.
    http://www.****************/Tutorials/ABAP/TableControl/Demo.htm

  • Loading this xml data into tables

    Hello,
    I am having a problem loading this XML file into tables. The xml file structure is
    <FILE>
    <ACCESSION>
    some ids
    <INSTANCE>
    some data
    <VARIATION
    </VARIATION>
    <VARIATION>
    </VARIATION> variation gets repeated a number of times
    <ASSEMBLY>
    </ASSEMBLY>
    <ASSEMBLY>
    </ASSEMBLY> Assembly gets repeated a number of times.
    </INSTANCE>
    </ACCESSION>
    </FILE>
    I created a table which has the structure:
    create table accession(
    accession_id varchar2(20),
    Instance instance_type);
    create or replace type instance_type as object
    (method varchar2(20),
    class varchar2(20),
    source varchar2(20),
    num_char number(10),
    variation variation_type,
    assembly assembly_type)
    create or replace type variation_type as object
    (value varchar2(2),
    count number(10),
    frequency number(10),
    pop_id varchar2(10)
    Created a similiar type for assembly.
    When I load it, I could only store the first variation data but not the subsequent ones. Similarly for assembly I could only store the first data but not the subsequent ones.
    Could anyone let me know how I could store this data into tables? I have also included a sample XML file in this message.
    Thank You for your help.
    Rama.
    Here is the sample xml file.
    <?xml version="1.0" ?>
    - <FILE>
    - <ACCESSION>
    <ACCESSION_ID>accid1</ACCESSION_ID>
    - <INSTANCE>
    <METHOD>method1</METHOD>
    <CLASS>class1</CLASS>
    <SOURCE>source1</SOURCE>
    <NUM_CHAR>40</NUM_CHAR>
    - <VARIATION>
    <VALUE>G</VALUE>
    <COUNT>5</COUNT>
    <FREQUENCY>66</FREQUENCY>
    <POP1>pop1</POP1>
    <POP2>pop1</POP2>
    </VARIATION>
    <VARIATION>
    <VALUE>C</VALUE>
    <COUNT>2</COUNT>
    <FREQUENCY>33</FREQUENCY>
    <POP_ID1>pop2</POP_ID1>
    </VARIATION>
    - <ASSEMBLY>
    <ASSEMBLY_ID>1</ASSEMBLY_ID>
    <BEGIN>180</BEGIN>
    <END>180</END>
    <TYPE>2</TYPE>
    <ORI>-</ORI>
    <OFFSET>0</OFFSET>
    </ASSEMBLY>
    - <ASSEMBLY>
    <ASSEMBLY_ID>2</ASSEMBLY_ID>
    <BEGIN>235</BEGIN>
    <END>235</END>
    <TYPE>2</TYPE>
    <ORI>-</ORI>
    <OFFSET>0</OFFSET>
    </ASSEMBLY>
    </INSTANCE>
    </ACCESSION>
    </FILE>

    Hello,
    I could figure out how to load this XML file by using cast(multiset(
    So never mind.
    Thank You.
    Rama.

  • Please recommend if we have options to read xml file and insert data into table without a temporary table.

    Please recommend if we have options to read xml file and insert data into table without a temporary table. 

    DECLARE @data XML;
    SET @data =N'<Root>
    <List RecordID="946236" />
    <List RecordID="946237" />
    <List RecordID="946238" />
    <List RecordID="946239" />
    <List RecordID="946240" />
    </Root>'
    INSERT INTO t (id) SELECT T.customer.value('@RecordID', 'INT') AS id
    FROM @data.nodes('Root/List')
     AS T(customer);
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

Maybe you are looking for

  • Can't send mail after AirPort update

    After I installed the latest AirPort update, I can no longer send emails through Mac Mail but I can still receive them. I can send emails if I plug my MacBook directly into the cable service router through the ethernet port. According to my ISP (Cox)

  • Insert or Cut Time and move automation data - how to do it?

    Hi when I cut or insert time it moves the regions but not the automation data. I have tried switching nn 'move automation with regions' but it doesn't move the automation that goes past the end f regions eg plug in settings like delay feedbacks etc.

  • JCo login properties

    Hi all, I have coded a Java JCO call from Java to Abap in XI 3.0. The logon details have been stored in a properties file so it can be changed in the different environments. I have two questions: 1. Is this the best way to manage the changing details

  • Does not return to inbox (Outlook Express) after following a link

    Just installed Firefox (was using Internet Explorer) and am still using Outlook Express for mail. Under IE, if I clicked on a link from an email, I was returned to my inbox when closing the linked-to window. Now it does not automatically return so I

  • NEF ( Nikon RAW file ) will not open in Preview

    I use a Nikon camera - and in the last ~3 weeks the NEF files no longer are displayed in Preview or the finder. Older NEF photos can be displayed. Has something changed?? How do I correct this problem??