Load CSV file into single CLOB

Hello Oracler,
is there a good way to load a csv file into PL/SQL a Clob variable ?


Similar Messages

  • Issue loading CSV file into HANA

    From last couples of weeks i am trying to load my CSV file into HANA Table, but i am unable to succeed.
    I am getting error "Cannot open Control file, /dropbox/P1005343/CRM_OBJ_ID.CTL". I have followed each and every step in SDN, still I could not load data into my HANA table.
    FTP: /dropbox/P1005343
    SQL Command:
    IMPORT FROM '/dropbox/P1005343/crm_obj_id.ctl'
    Could not execute 'IMPORT FROM '/dropbox/P1005343/crm_obj_id.ctl''
    SAP DBTech JDBC: [2]: general error: Cannot open Control file, /dropbox/P1005343/crm_obj_id.ctl
    Please help me on this

    Hi All,
    I have successfully loaded the file into HANA database in folder P443348 but while importing file, I am getting the following error message such as
    SAP DBTECH JDBC: [2]  (at 13) : general error: Cannot open Control file, "/P443348/shop_facts.ctl"
    This is happening while I am executing the following import statement
    IMPORT FROM '/P443348/shop_facts.ctl';
    I have tried several options including changing the permissions of the folders and files to no success. As of now my folder has full access, which is 777
    Any help would be greatly appreciated so that I can proceed further

  • How to load CSV files into HANA

    1.- Create an CSV file with your data
    2.- Copy the file to dropbox/yourname inside the HANA box
    3.- Create a table in HANA with the structure of your file
    4.- create the control file BBB with the following information:
    import data
    into table XXX."YYY"
    from 'ZZZ.csv'
    record delimited by '\n'  
    fields delimited by ','
    optionally enclosed by '"'
    error log 'Text_Tables.err'
    Where XXX is your schema, YYY is your HANA Table and ZZZ is your file
    5.- Open an Script File and write the following:
    LOAD FROM '/filer/dropbox/yourname/BBB.ctl';
    where BBB is the name of your control file

    With the recent upgrade to the HANA SP3...the method to upload files to HANA has been slightly changed...so here's the updated tutorial:
    1.- Create an CSV file with your data
    2.- Copy the file to the HANA Dev Center
    3.- Open a FTP connection to ftp.sapdevcenter.com
    (You can find the user name and password by doing a select to SYSTEM.FTP_SERVER)
    and....*Don't paste the Username or password here or any other place!*
    4.- Create a folder with your name on the FTP site and copy the file there
    4.- Create a table in HANA with the structure of your file
    5.- create the control file BBB with the following information:
    import data
    into table XXX."YYY"
    from 'ZZZ.csv'
    record delimited by '\n'
    fields delimited by ','
    optionally enclosed by '"'
    error log 'Text_Tables.err'
    Where XXX is your schema, YYY is your HANA Table and ZZZ is your file
    5.- Open an Script File and write the following:
    IMPORT FROM '/dropbox/yourname/BBB.ctl';
    where BBB is the name of your control file
    I just test it and it works...if it doesn't work for you, please let me know

  • Multiple CSV files into single Excel as multiple spreadsheets

    Hi Experts,
      Can any one please help on the below requirement
       I have three .csv files for example (CSV_file1.csv, CSV_file2.csv, CSV_file3.csv,). I want to load these three different files into one Excel file as three different spreadsheets. As I know we don't have flexibility to load data into Excel file, Can any one help me out on this

    There are several posts and documents in this forum that may address your case. Try
    An approach to build Target file in Excel format in SAP BODS using XSL or Excel as a Target using Data Services 4.2 or Excel target in BODS 4.1 as a starting point.

  • Load CSV file into a table when a button is clicked by the user

    Can anyone please help me out with this issue, I have a form where in a user comes and uploads a CSV file and clicks a button, when the button is clicked - it should load the CSV file data into the database table for the corresponding columns.
    Can anyone please suggest me a possible solution or an approach.
    Edited by: orton607 on May 5, 2010 2:00 PM

    thanks fro replying.
    I have tried your changes but its not working. One more question is that I am having one column which contains commas, when I tried to load the file its failing. I think its the problem with commas. So I have changed the code to use the replace function for that column, then also its not working. Can anyone please suggest a possible approach. Below is my source code for your reference.
    v_blob_data BLOB;
    v_blob_len NUMBER;
    v_position NUMBER;
    v_raw_chunk RAW(10000);
    v_char CHAR(1);
    c_chunk_len NUMBER := 1;
    v_line VARCHAR2 (32767):= NULL;
    v_data_array wwv_flow_global.vc_arr2;
    v_rows NUMBER;
    v_sr_no NUMBER := 1;
    l_cnt BINARY_INTEGER := 0;
    l_stepid NUMBER := 10;
    delete from sample_tbl;
    -- Read data from wwv_flow_files</span>
    select blob_content into v_blob_data from wwv_flow_files
    where last_updated = (select max(last_updated) from wwv_flow_files where UPDATED_BY = :APP_USER)
    and id = (select max(id) from wwv_flow_files where updated_by = :APP_USER);
    v_blob_len := dbms_lob.getlength(v_blob_data);
    v_position := 1;
    -- Read and convert binary to char</span>
    WHILE ( v_position <= v_blob_len ) LOOP
    v_raw_chunk := dbms_lob.substr(v_blob_data,c_chunk_len,v_position);
    v_char := chr(hex_to_decimal(rawtohex(v_raw_chunk)));
    v_line := v_line || v_char;
    v_position := v_position + c_chunk_len;
    -- When a whole line is retrieved </span>
    IF v_char = CHR(10) THEN
    -- Convert comma to : to use wwv_flow_utilities </span>
    v_line := REPLACE (v_line, ',', ':');
    -- Convert each column separated by : into array of data </span>
    v_data_array := wwv_flow_utilities.string_to_table (v_line);
    -- Insert data into target table </span>
    EXECUTE IMMEDIATE 'insert into sample_tbl(col1..col12)
    values (:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12)'
    REPLACE(v_data_array(9), ':', ','),
    -- Clear out
    v_line := NULL;
    v_sr_no := v_sr_no + 1;
    l_cnt := l_cnt + SQL%ROWCOUNT;
    END IF;
    l_stepid := 20;
    IF l_cnt = 0 THEN
    apex_application.g_print_success_message := apex_application.g_print_success_message || ' Please select a file to upload ' ;
    apex_application.g_print_success_message := apex_application.g_print_success_message || 'File uploaded and processed ' || l_cnt || ' record(s) successfully.';
    END IF;
    l_stepid := 30;
    apex_application.g_print_success_message := apex_application.g_print_success_message || 'Failed to upload the file. '||REGEXP_REPLACE(SQLERRM,'[('')(<)(>)(,)(;)(:)(")('')]{1,}', '') ;
    Below is the function which I am using to convert hex to decimal
    create or replace function hex_to_decimal( p_hex_str in varchar2 ) return number
    v_dec number;
    v_hex varchar2(16) := '0123456789ABCDEF';
    v_dec := 0;
    for indx in 1 .. length(p_hex_str)
    v_dec := v_dec * 16 + instr(v_hex,upper(substr(p_hex_str,indx,1)))-1;
    end loop;
    return v_dec;
    end hex_to_decimal;

  • How to load .csv file into an abap table

    Pls provide me with a sample code on how to load a .csv file (with column header and rows of data) into a table in sap.
    Thank you!
    Moderator Message: A google search would yield faster results, so search!
    Edited by: Suhas Saha on Jan 16, 2012 5:30 PM

    Using GUI_upload convert file to internal table data.
    Using the below statement separate header and data from CSV.
    Read t_itab into wa_titab index 1.
    delete t_itab from wa_itab.
    Create an internal table with the structure same as 'CSV' file and use the below statement to separate.
    loop at t_itab into wa_itab.
          split wa_itab-rec at ',' into var1 var2 var3.
          wa_output-v1 = var1.
          wa_output-v2 = var2.
          wa_output-v3 = var3.
        append wa_output to t_output.
    Edited by: syamsundr on Jan 16, 2012 11:54 AM

  • How to read/write .CSV file into CLOB column in a table of Oracle 10g

    I have a requirement which is nothing but a table has two column
    create table emp_data (empid number, report clob)
    Here REPORT column is CLOB data type which used to load the data from the .csv file.
    The requirement here is
    1) How to load data from .CSV file into CLOB column along with empid using DBMS_lob utility
    2) How to read report columns which should return all the columns present in the .CSV file (dynamically because every csv file may have different number of columns) along with the primariy key empid).
    eg: empid report_field1 report_field2
    1 x y
    Any help would be appreciated.

    If I understand you right, you want each row in your table to contain an emp_id and the complete text of a multi-record .csv file.
    It's not clear how you relate emp_id to the appropriate file to be read. Is the emp_id stored in the csv file?
    To read the file, you can use functions from [UTL_FILE|http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm#BABGGEDF] (as long as the file is in a directory accessible to the Oracle server):
        lt_report_clob CLOB;
        l_max_line_length integer := 1024;   -- set as high as the longest line in your file
        l_infile UTL_FILE.file_type;
        l_buffer varchar2(1024);
        l_emp_id report_table.emp_id%type := 123; -- not clear where emp_id comes from
        l_filename varchar2(200) := 'my_file_name.csv';   -- get this from somewhere
       -- open the file; we assume an Oracle directory has already been created
        l_infile := utl_file.fopen('CSV_DIRECTORY', l_filename, 'r', l_max_line_length);
        -- initialise the empty clob
        dbms_lob.createtemporary(lt_report_clob, TRUE, DBMS_LOB.session);
             utl_file.get_line(l_infile, l_buffer);
             dbms_lob.append(lt_report_clob, l_buffer);
             when no_data_found then
        end loop;
        insert into report_table (emp_id, report)
        values (l_emp_id, lt_report_clob);
        -- free the temporary lob
       -- close the file
    end;This simple line-by-line approach is easy to understand, and gives you an opportunity (if you want) to take each line in the file and transform it (for example, you could transform it into a nested table, or into XML). However it can be rather slow if there are many records in the csv file - the lob_append operation is not particularly efficient. I was able to improve the efficiency by caching the lines in a VARCHAR2 up to a maximum cache size, and only then appending to the LOB - see [three posts on my blog|http://preferisco.blogspot.com/search/label/lob].
    There is at least one other possibility:
    - you could use [DBMS_LOB.loadclobfromfile|http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_lob.htm#i998978]. I've not tried this before myself, but I think the procedure is described [here in the 9i docs|http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96591/adl12bfl.htm#879711]. This is likely to be faster than UTL_FILE (because it is all happening in the underlying DBMS_LOB package, possibly in a native way).
    That's all for now. I haven't yet answered your question on how to report data back out of the CLOB. I would like to know how you associate employees with files; what happens if there is > 1 file per employee, etc.
    Regards Nigel
    Edited by: nthomas on Mar 2, 2009 11:22 AM - don't forget to fclose the file...

  • Can we strore .CSV file into CLOB datatype

    can we strore .CSV file into CLOB datatype
    its giving me error ot hexa coonversion?
    can anyone provide sample code...
    when i m sending mail from oracle database when i send as blob object then nope but when i send attachment stored in table with clob column it gives me hex to raw conversion error
    folllowing is my code--
    CREATE OR REPLACE PROCEDURE com_maildata_prc1( pi_sender IN com_batch_contact_dtl.strreceivername%TYPE,
    pi_recipients IN com_batch_contact_dtl.stremailaddr%TYPE,
    pi_subject IN VARCHAR2 ,
    pi_text IN VARCHAR2 ,
    pi_filename IN VARCHAR2 ,
    pi_blob IN cLOB
    conn utl_smtp.connection;
    i NUMBER;
    len NUMBER;
    conn := demo_mail.begin_mail( sender => pi_sender,
    recipients => pi_recipients,
    subject => pi_subject,
    mime_type => demo_mail.MULTIPART_MIME_TYPE
    demo_mail.begin_attachment(conn => conn,
    mime_type => 'application/csv',
    inline => TRUE,
    filename => pi_filename,
    transfer_enc => 'base64'
    -- split the Base64 encoded attachment into multiple lines
    i := 1;
    len := DBMS_LOB.getLength(pi_blob);
    WHILE (i < len) LOOP
    IF(i + demo_mail.MAX_BASE64_LINE_WIDTH < len)THEN
    UTL_SMTP.Write_raw_Data (conn
    , UTL_ENCODE.Base64_Encode(
    DBMS_LOB.Substr(pi_blob, demo_mail.MAX_BASE64_LINE_WIDTH, i)));
    UTL_SMTP.Write_raw_Data (conn
    , UTL_ENCODE.Base64_Encode(
    DBMS_LOB.Substr(pi_blob, (len - i)+1, i)));
    END IF;
    UTL_SMTP.Write_Data(conn, UTL_TCP.CRLF);
    i := i + demo_mail.MAX_BASE64_LINE_WIDTH;
    demo_mail.end_attachment(conn => conn);
    conn => conn,
    data => pi_text,
    mime_type => 'text/csv');
    demo_mail.end_mail( conn => conn );
    Thanx in advance...
    Message was edited by:
    Message was edited by:

    Ignore "SQL*Loader-292: ROWS parameter ignored when an XML, LOB or VARRAY column is loaded" error
    after importing your csv file just change length CHAR(100000).
    ex: your column col1 CHAR(1000) to change CHAR(100000).
    and deploy your mapping and execute

  • Loading data from .csv file into Oracle Table

    I have a requirement where I need to populate data from .csv file into oracle table.
    Is there any mechanism so that i can follow the same?
    Any help will be fruitful.
    Thanks and regards

    You can use Sql Loader or External tables for your requirement
    Missed Karthick's post ...alredy there :)
    Edited by: Rajneesh Kumar on Dec 4, 2008 10:54 AM

  • Loading data from .csv file into existing table

    I have taken a look at several threads which talk about loading data from .csv file into existing /new table. Also checked out Vikas's application regarding the same. I am trying to explain my requirement with an example.
    I have a .csv file and I want the data to be loaded into an existing table. The timesheet table columns are -
    timesheet_entry_id,time_worked,timesheet_date,project_key .
    The csv columns are :
    project,utilization,project_key,timesheet_category,employee,timesheet_date , hours_worked etc.
    What I needed to know is that before the csv data is loaded into the timesheet table is there any way of validating the project key ( which is the primary key of the projects table) with the projects table . I need to perform similar validations with other columns like customer_id from customers table. Basically the loading should be done after validating if the data exists in the parent table. Has anyone done this kind of loading through the APEX utility-data load.Or is there another method of accomplishing the same.
    Does Vikas's application do what the utility does ( i am assuming that the code being from 2005 the utility was not incorporated in APEX at that time). Any helpful advise is greatly appreciated.

    Hi Anjali,
    Take a look at these threads which might outline different ways to do it -
    File Browse, File Upload
    Loading CSV file using external table
    Loading a CSV file into a table
    you can create hidden items in the page to validate previous records before insert data.
    Hope this helps,
    M Tajuddin

  • Combine multiple CSV files into a single multi-column CSV file

    Hey Scripting Guy!
    I have what is probably a simple issue, but I haven't been able to find the right answer.
    I have 18 CSV files that each contain the same header and a single value as shown below:
    These files are the results of SMTP traffic by domain.
    All I want to do is to combine the 18 CSV files into a single file with the content of each file in a separate column, using the file name as the column header.
    For example:
    The desired ouput is:
    I don't need to row of Sum's if it is easy to leave out.  It would be even better if this could be put into an Excel spreadsheet.
    Thanks for your help!

    Can you post your script?
    If you are not a technician and do not want to write a script then you should try hiring a consultant.
    If you want to learn how to write a script then start here:
    By the way...your request makes no logical or technical sense.  What is the point of doing this?  There is no relationship between these files.

  • Example for loading a csv file into diadem from a labview application

    Hi everyone, i'm using labview 8.2 and DIAdem 10.1.
    I've been searching in NI example finder but I had no luck so far.
    I have already downloaded the labview connectivity VIs.
    Can anyone provide a example that can help me loading a csv file into diadem from a labview application?

    Hi Alexandre.
    I attach an example for you.
    Best Regards.
    Message Edité par R_Duval le 01-15-2008 02:44 PM
    Romain D.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    NIDays 2010 : Conférence mondiale de l'instrumentation virtuelle
    >>Détails et Inscription<<
    Classeur1.csv ‏1 KB
    Load CSV to Diadem.vi ‏15 KB

  • How do I call two csv files into ews?

    I have to call two csv files into a script with ews:
    Param([string]$calInputFile = "C:\Algemene agenda\Data docenten.txt" )
    Param([string]$calMailboxFile ="C:\Algemene agenda\Alle docenten.txt"
    # Load all Entries
    $calagenda = Import-Csv $calInputFile
    $calMailbox = Import-Csv $callMailboxfile
    This do not work.
    How can I do this???

    OH!!  Why didn't I see this before?  s-:  You are having problems with the Param definition, but it appears you are having troubles pulling the data into the script.  You can only have a single Param definition for a script.  Try
    the following instead:
    = "C:\Algemene agenda\Data docenten.txt",
    ="C:\Algemene agenda\Alle docenten.txt"
    ## Load all Entries
    $calagenda = Import-Csv $calInputFile
    $calMailbox = Import-Csv $callMailboxfile
    To define multiple parameters, you have your Param definition (with its parentheses) and all parameters are defined inside it, separated by commas.

  • How can I import data from a csv file into databse using utl_file?

    I have two machines (os is windows and database is oracle 10g) that are not connected to each other and both are having the same database schema but data is all different.
    Now on one machine, I want to take dump of all the tables into csv files. e.g. if my table name is test then the exported file is test.csv and if the table name is sample then csv file name is sample.csv and so on.
    Now I want to import the data from these csv files into the tables on second machine. if I've 50 such csv files, then data should be written to 50 tables.
    I am new to this. Could anyone please let me know how can I import data back into tables. i can't use sqlloader as I've to satisfy a few conditions while loading the data into tables. I am stuck and not able to proceed.
    Please let me know how can I do this.

    Why you want to export into .csv file.Why not export/import? What is your oracle version?
    Read http://www.oracle-base.com/articles/10g/oracle-data-pump-10g.php

  • Import a csv file into demand history

    Hi SAP Friends,
    we are sitting here for hours and just don´t get any further... Our problem is, we have written a csv file according to this example:
    Executing Loc. Type CHAR 4 CRMELOCTYP - 1002
    Cus-Facing Loc. Type CHAR 4 CRMFLOCTYP - 1002
    Type 1st Stockh.Loc. CHAR 4 CRMFSTLTP - 1002
    Order Qty: Sls Units QUAN 17 CRMORDQTYV - 1000
    Pl. GI Date (Req.) DATS 8 CRMPGIDATW - 20061010
    Pl. GI Time (Req.) TIMS 6 CRMPGITIMW - 200000
    Customer-Facing Loc. CHAR 20 CRM_FACLOC - LOC1
    1st Stockholding Loc CHAR 20 CRM_FSTLOC - LOC1
    Transaction Created DATS 8 CRM_ITCRAT - 20061010
    GUID of a CRM item CHAR 32 CRM_ITMGUI Check - PROD1
    Item Transaction Typ CHAR 4 CRM_ITMTYP Check - NORM
    Item Category Usage CHAR 4 CRM_ITMTYS Blank
    Use:Higher Level Itm CHAR 2 CRM_ITMUSE Blank
    Abnormal Demand CHAR 1 CRM_NOTNRM Blank
    Item No. Order Doc. NUMC 10 CRM_NUMINT Check - PROD1
    No. of Doc Items INT4 10 CRM_NUMOFI Check - 1
    Transaction Number CHAR 10 CRM_OBJ_ID Check - PROD1
    GUID CRM Order Obj. CHAR 32 CRM_OHGUID Check - PROD1
    Parent item CHAR 32 CRM_PARITM Blank
    Business Trans. Type CHAR 4 CRM_PRCTYP Blank
    Denominator INT4 10 Put 1 - 1
    10th Exponent INT4 10 Put 1 - 1
    Numerator INT4 10 Put 1 - 1
    Reason for Rejection CHAR 2 CRM_REJECT Blank
    Requested deliv.date DATS 8 CRM_REQDAT - 20061016
    Goods Recipient CHAR 10 CRM_SHIPTO - CUST1 (Not created in master)
    Source System CHAR 10 LOGSYS - EXCEL
    Material CHAR 18 MATERIAL - PROD1
    Update Mode CHAR 1 RECORDMODE - F
    Sales unit UNIT 3 SALES_UNIT - EA
    Product CHAR 32 CRM_PROD - PROD1
    Base Unit UNIT 3 BASE_UOM - EA
    Product ID CHAR 40 CRMPROD_ID - PROD1
    and have also imported this file into the demand history, but the "order quantity" is missing as well as the whole file in the "manual adjustment of raw data". Does anyone know, what´s the problem??
    Thank you so much in advance,

    Hola Anjali,
    First of all, thank you for your quick answer.
    I don´t think that there is anything missing in the CSV file. We are using SPP and also have the SCM 5.0. See if we load the file into SPP neither the order quantity, nor is the file in the "manual adjustment of raw data" is shown . What do u mean by downloading and uploading?
    Thank you,

Maybe you are looking for