SQL Loader - double quote within data

Hi,
I'm putting together some SQL loader scripts to load source data into a DB. The data we are receiving is comma delimited, optionally enclosed by double quotes (").
e.g. "abc","123","this is a "test"","987"
The problem I've got is that some data items contain double quotes ("test") as part of the data and this cause the SQL Loader to fall over with the error:
Record 14644: Rejected - Error on table x, column y.
no terminator found after TERMINATED and ENCLOSED field
Is it possible to load this without changing the extraction process from the source system?
My .ctl file looks like this:
LOAD DATA
     INFILE '../data/toload/BR_ADDRESS.CSV'
     APPEND INTO TABLE STA_COMP_BRADD
     FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
     etc....
Message was edited by:
MaximumStagg

Hi,
Look in to this in Oracle documentation:
"If two delimiter characters are encountered next to each other, a single occurrence of the delimiter character is used in the data value. For example, 'DON''T' is stored as DON'T. However, if the field consists of just two delimiter characters, its value is null."
http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_field_list.htm
Thanks,
Kishore

Similar Messages

  • SQL Loader: double quotes inside double quotes

    Hello,
    I need to find a solution for loading some data that contains double quotas. The csv contains data like:
    "1";"Name1";"Name2"
    "2";"Name3 "another thing here"";"Name4"
    "3";"Name33 "thing here"";"Name "name" Name"
    The data inside the " " must be loaded exactly as it is, that means that in the DB, for row2, column2 the data must be: Name3 "another thing here". I cannot remove the qoutes.
    the CTL:
    LOAD DATA
    CHARACTERSET AL32UTF8
    INTO table table_name
    APPEND
    FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"'
    TRAILING NULLCOLS
    Column1,
    Column2,
    Column3
    Could anyone help on this?

    try with this ctl
    LOAD DATA
    CHARACTERSET AL32UTF8
    INTO table table_name
    APPEND
    FIELDS TERMINATED BY ';' ENCLOSED BY '"'
    TRAILING NULLCOLS
    Column1,
    Column2,
    Column3
    )also refer to
    here and here
    for detailed explanations and instructions

  • Sql loader error in offline data load

    Hi,
    I have done an offline schema creation using existing tablespace.
    I am trying to do an offline data load using sql loader.The CTL and DAT file are generated by the work bench.
    This is my CTL file code generated by workbench.
    load data
    infile 'Import.dat' "str '<EORD>'"
    into table IMPORT
    fields terminated by '<EOFD>'
    trailing nullcols
    When I am running the ctl file with DAT file in sql loader I am getting the following error
    SQL*Loader-350: Syntax error at line 4.
    Expecting single char, found "<EOFD>".
    fields terminated by '<EOFD>'
    ^
    My Sql Loader version is Release 8.0.6.3.0
    Please help if anyone has came across this issue.
    Thanks in advance.
    Regards
    Saravanan.B

    Saravanan,
    Its a long time since I have seen 8 sql loader. Check the doc. Is it resrticted to a single character delimter??
    Barry

  • Can i export without double quotes in data files?

    How can i export without double quotes in data files using dataexport commands in MaxL?

    I don't know of any way to do any formatting in a straight export out of Essbase.  BSO lets you choose between a columnar vs. free form (really Essbase) format.  That lack of formatting includes removing double quotes.
    If you're willing to put up with the limitations (and formatting issues) of an MDX extract to a log file, that approach does not put double quotes around member names.  The same is true in Report Scripts although I have a vague recollection that you can put in double quotes if you want it -- obviously you do not.
    There are limitations to the above two approaches, the biggest being that they they are not as efficient as a true MaxL export.  OTOH, you may want only part of a database to get exported out in which case either approach may be more to your needs.
    If in fact you do want to do a full export, there are lots of OS-level ways of removing double quotes.  Here's a Windows-based approach:
    Removing double quotes in a batch program in Windows 2003 - Stack Overflow
    What would life be without hacks like the above?  Probably not worth living. 
    Regards,
    Cameron Lackpour

  • PL/SQL: quoting problems (double quotes within PL/SQL, howto?)

    Hello,
    I have a big problem with that: I just cannot use execute immediate to do what I want.
    The goal is that another user than sysdba needs to be able to open/close the wallet (we are sysdba and our client doesn't want us to be able to open the wallet, and we don't want the client to have sysdba), so I take advantage of the fact that procedures are executed by default with the privileges of the user which writes it. So, I try and create a PL/SQL procedure as sys and grant execute rights to the client user.
    To open/close a wallet, the command is:
    alter system set encryption wallet open/close identified by "thepasshere";
    Note the double quotes... They are the problem here (passwords are mixed case and contain special characters). Right now, the only solution I came up with is:
    create or replace procedure open_wallet (passwd in varchar2) is
    begin
    execute immediate 'alter system set encryption wallet open identified by "' || passwd || '";';
    end;
    But that's vulnerable to code injection... So, instead, I tried:
    create or replace procedure open_wallet (passwd in varchar2) is
    cmd varchar2(512);
    begin
    cmd != 'alter system set encryption wallet open identified by ":1"';
    execute immediate cmd using passwd;
    end;
    which yields "ORA-00911: invalid character" - uh?
    Now, if I try:
    create or replace procedure open_wallet (passwd in varchar2) is
    cmd varchar(512);
    begin
    cmd := 'alter system set encryption wallet open identified by :1;';
    execute immediate cmd using passwd;
    end;
    it answers "ORA-28357: password required to open the wallet"
    Aaargh! I see no way around that :(
    Is there a solution at all?

    Did you try including the double quotes in the password bind value? Either when you pass the value in or by adding it in the routine.
    create or replace procedure open_wallet (passwd in varchar2) is
    cmd varchar(512);
    pass varchar(512);
    begin
    cmd := 'alter system set encryption wallet open identified by :1;';
    pass := '"' || passwd || '"';
    execute immediate cmd using pass;
    end;

  • SQL Loader (how to cut data header)

    Hi there,
    [oracle 11g]
    I got the following text file:
    mod; DD.MM.YYYY; HH:MM:SS; aligned
    src; "ptv "; "15.04.2012"; "10:47:49"
    chs; "ISO8859-1"
    ver; "V1.0"
    ifv; "V1.0"
    dve; "V1.0"
    fft; "LIO"
    tbl; MENGE_FGR
    atr; BASIS_VERSION; FGR_NR; FGR_TEXT
    frm; num[9.0]; num[5.0]; char[40]
    rec;        122;     8; "VVZ"   
    rec;        123;     18; "VHZ"
    rec;        124;     13; "VTZ"    Now I am interested in the column TBL and ATR and follwing rawdata
    Do you see a way to automatically create the table MENGE_FR with columns BASIS_VERSION; FGR_NR;FGR_TEST and column types num, num, char and insert the raw data below?
    PS:OK, this is mysql ...so I need to convert this first to sql. So you should see num as number.
    Thx in advance Thorsten
    Edited by: Thorsten on 16.05.2013 07:30
    Edited by: Thorsten on 16.05.2013 07:32

    There are various ways that you could do this. I have demonstrated one method below. I created a table with two columns, then used SQL*Loader to load the data from the text file into those two columns. Skipping the header rows is optional. You could also use an external table instead, if the text file is on your server, not your client. I then used some PL/SQL to create and execute "create table" and "insert" statements. This is just some starter code. You will need to make modifications to handle other data types and such that were not in the example that you provided, but it should give you the general idea.
    SCOTT@orcl_11gR2> host type text_file.dat
    mod; DD.MM.YYYY; HH:MM:SS; aligned
    src; "ptv "; "15.04.2012"; "10:47:49"
    chs; "ISO8859-1"
    ver; "V1.0"
    ifv; "V1.0"
    dve; "V1.0"
    fft; "LIO"
    tbl; MENGE_FGR
    atr; BASIS_VERSION; FGR_NR; FGR_TEXT
    frm; num[9.0]; num[5.0]; char[40]
    rec;        122;     8; "VVZ"
    rec;        123;     18; "VHZ"
    rec;        124;     13; "VTZ"
    SCOTT@orcl_11gR2> host type test.ctl
    options(skip=7)
    load data
    infile text_file.dat
    into table tbl
    (col1 terminated by ';',
    col2 terminated by x'0a')
    SCOTT@orcl_11gR2> create table tbl
      2    (col1  varchar2(4),
      3     col2  varchar2(60))
      4  /
    Table created.
    SCOTT@orcl_11gR2> host sqlldr scott/tiger control=test.ctl log=test.log
    SQL*Loader: Release 11.2.0.1.0 - Production on Thu May 16 13:44:24 2013
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Commit point reached - logical record count 6
    SCOTT@orcl_11gR2> select * from tbl
      2  /
    COL1 COL2
    tbl   MENGE_FGR
    atr   BASIS_VERSION; FGR_NR; FGR_TEXT
    frm   num[9.0]; num[5.0]; char[40]
    rec          122;     8; "VVZ"
    rec          123;     18; "VHZ"
    rec          124;     13; "VTZ"
    6 rows selected.
    SCOTT@orcl_11gR2> declare
      2    v_tab   varchar2(30);
      3    v_atr   varchar2(32767);
      4    v_frm   varchar2(32767);
      5    v_sql   varchar2(32767);
      6    v_cols  number;
      7    v_next  varchar2(32767);
      8  begin
      9    select col2 into v_tab from tbl where col1 = 'tbl';
    10    select col2 || ';' into v_atr from tbl where col1 = 'atr';
    11    select col2 || ';' into v_frm from tbl where col1 = 'frm';
    12    v_sql := 'CREATE TABLE ' || v_tab || ' (';
    13    select regexp_count (col2, ';') + 1 into v_cols from tbl where col1 = 'atr';
    14    for i in 1 .. v_cols loop
    15      v_sql := v_sql || substr (v_atr, 1, instr (v_atr, ';') - 1) || ' ';
    16      v_next := substr (v_frm, 1, instr (v_frm, ';') - 1);
    17      v_next := replace (v_next, '[', '(');
    18      v_next := replace (v_next, ']', ')');
    19      v_next := replace (v_next, '.', ',');
    20      v_next := replace (v_next, 'num', 'number');
    21      v_next := replace (v_next, 'char', 'varchar2');
    22      v_sql := v_sql || v_next || ',';
    23      v_atr := substr (v_atr, instr (v_atr, ';') + 1);
    24      v_frm := substr (v_frm, instr (v_frm, ';') + 1);
    25    end loop;
    26    v_sql := rtrim (v_sql, ',') || ')';
    27    dbms_output.put_line (v_sql);
    28    execute immediate v_sql;
    29    for r in (select col2 from tbl where col1 = 'rec') loop
    30      v_sql := 'INSERT INTO ' || v_tab || ' VALUES (''';
    31      v_sql := v_sql || replace (replace (r.col2, ';', ''','''), '"', '');
    32      v_sql := v_sql || ''')';
    33      dbms_output.put_line (v_sql);
    34      execute immediate v_sql;
    35    end loop;
    36  end;
    37  /
    CREATE TABLE  MENGE_FGR ( BASIS_VERSION  number(9,0), FGR_NR  number(5,0),
    FGR_TEXT  varchar2(40))
    INSERT INTO  MENGE_FGR VALUES ('        122','     8',' VVZ')
    INSERT INTO  MENGE_FGR VALUES ('        123','     18',' VHZ')
    INSERT INTO  MENGE_FGR VALUES ('        124','     13',' VTZ')
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> describe menge_fgr
    Name                                      Null?    Type
    BASIS_VERSION                                      NUMBER(9)
    FGR_NR                                             NUMBER(5)
    FGR_TEXT                                           VARCHAR2(40)
    SCOTT@orcl_11gR2> select * from menge_fgr
      2  /
    BASIS_VERSION     FGR_NR FGR_TEXT
              122          8  VVZ
              123         18  VHZ
              124         13  VTZ
    3 rows selected.

  • SQL Loader Approch to fetch data from Previous Data Segment.

    CREATE TABLE T
    RECORD_ID NUMBER,
    SEG_VALUES VARCHAR2(4000)
    ==============================================================================
    LOAD DATA
    INFILE *
    TRUNCATE
    INTO TABLE T
    WHEN SEG_VALUES <> ''
    RECORD_ID RECNUM,
    SEG_VALUES POSITION(1:4000)
    BEGIN DATA
    AAASH9561000000074120081029SYS
    BBB0000001H0351
    CCC0000001 6040818 078141532A 202007083020070830 36274
    CCC0000002 12623239 526486168A 202008063020080630 4808
    CCC0000003 13326331 530229550A 202008042620080426 V4611
    CCC0000004 23554261 161340499A 202008082220080822 6868
    ==============================================================================
    CREATE TABLE T1
         FILE_ID VARCHAR2(20),
         CONT_NBR VARCHAR2(20),
         SEG_VALUES VARCHAR2(4000)
    ==============================================================================
    CREATE OR REPLACE PROCEDURE P
    AS
    l_Fileid T1.file_id%type;
    l_Contractnbr t1.CONT_NBR%Type;
    BEGIN
         FOR REC IN (SELECT SEG_VALUES FROM T ORDER BY RECORD_ID)
         LOOP
              IF SUBSTR(REC.SEG_VALUES,1,3) ='AAA' THEN
                   l_Fileid := SUBSTR(REC.SEG_VALUES,10,10);
              ELSIF SUBSTR(REC.SEG_VALUES,1,3) ='BBB' THEN
                   l_Contractnbr := SUBSTR(REC.SEG_VALUES,11,5);
              ELSIF SUBSTR(REC.SEG_VALUES,1,3) ='CCC' THEN
                   INSERT INTO T1 VALUES (l_Fileid,l_Contractnbr,REC.SEG_VALUES);               
    END IF;
         END LOOP;
         COMMIT;
    EXCEPTION
         WHEN OTHERS THEN
         RAISE_APPLICATION_ERROR (-20458,SQLERRM);
    END P;
    ==============================================================================
    Is there is any simple approch to handle the above scenario in SQL Loader Control file? if possible can you please show me?

    Handle the above scenario? What above scenario?
    Could I guess ... you betcha. Will I guess? Quite another matter.
    Please provide full version (all 3 decimal places) and a clear and concise description of what help you need.

  • SQL Loader - want to access data from .txt file but don't want to insert

    Hello,
    I have situation where I have some data in .txt file and I have to load that data into one of my table.
    My problem is I have fundtion get_id(a,b,c) in database which I have to call while loading the data to find out value of x.
    I have value of a, b and c in txt file which I can access it using POSITION(N:M) in sql loader, but After accessing that value I just want to past to get_id() function and dont want to insert into sql loader.
    any help

    My control file is as below
    Following field is not in database but I need to pass the value to the function to get a ESC_USER_ID. any help
    OFFICE_NUM      filler POSITION(32:35) ,
    STATION_DESK      filler POSITION(45:48),
    LOAD DATA
    INFILE REFERRALs.TXT
    BADFILE REFERRAL_LOAD.BAD
    DISCARDFILE REFERRAL_LOAD.DIS
    INSERT
    INTO TABLE REFERRAL
    EVALUATE CHECK_CONSTRAINTS REENABLE DISABLED_CONSTRAINTS
    TRAILING NULLCOLS
    ID                    sequence (1,1),
    JOB_ID                    POSITION (16:22) "GET_JOB_ID(:JOB_ID)"      ,
    CUS_ID                    POSITION (23:31) "GET_CUS_ID(:CUS_ID)"     ,
    STATUS_LU               CONSTANT 'F'                    ,     
    REQUEST_USER_TYPE_LU          CONSTANT 'S'                    ,
    OFFICE_NUM      filler POSITION(32:35) ,
    STATION_DESK      filler POSITION(45:48),
    REQUEST_USER_ID          POSITION(143:149) "GET_ESCUSER_ID(OFFICE_NUM,STATION_DESK,:REQUEST_USER_ID)"     ,
    REQUEST_DT               POSITION (37:44) "to_date(:REQUEST_DT,'YYYY/MM/DD')"     ,
    REVIEW_USER_ID               FILLER                         ,
    REVIEW_DT               FILLER                         ,
    REFUSE_REASON_LU          FILLER                         ,
    RESULT_LU               POSITION (97:97)               ,
    NOTIFY_STATUS_LU          FILLER                         ,
    NOTIFY_DT               FILLER                         ,
    APPOINTMENT_DT               POSITION (106:113) "to_date(:APPOINTMENT_DT,'YYYY/MM/DD')"     ,
    RESULT_DT               POSITION (98:105) "to_date(:RESULT_DT,'YYYY/MM/DD')"     ,
    NO_MATCH_IND               CONSTANT 'N'
    )

  • Sql loader issue char to date

    Hi
    I have a text file like this:
    logs~-~189.138.221.234~[19/Nov/2007:18:39:53 +0100]~mujer.orange.es~/mujer.woo/home/home/index.html~mujer.woo~home~home~index.html~Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; FunWebProducts; InfoPath.2)~bid=1195493283-1925481236; __em_p=1195493283-1925481236%26bid; GUID=0002D029C7BD07412A7C28F861626364~-~?ord=4939922038660
    Im trying to load via sql loader to a table like this:
    CREATE TABLE SPY_LOGS_FLOGS
    TYPE VARCHAR2(10 BYTE),
    PROXY VARCHAR2(30 BYTE),
    IP VARCHAR2(30 BYTE),
    DATETIME DATE,
    REFERER VARCHAR2(100 BYTE),
    SPY VARCHAR2(100 BYTE),
    SPY0 VARCHAR2(100 BYTE),
    SPY1 VARCHAR2(100 BYTE),
    SPY2 VARCHAR2(100 BYTE),
    SPY3 VARCHAR2(100 BYTE),
    BROWSER VARCHAR2(300 BYTE),
    COOKIE VARCHAR2(100 BYTE),
    UNKNOWN VARCHAR2(100 BYTE),
    QS VARCHAR2(100 BYTE)
    Im using a control similar to this:
    LOAD DATA
    infile '../files/spy_logs_flogs'
    append
    into table spy_logs_flogs
    FIELDS TERMINATED BY '~'
    TRAILING NULLCOLS
    TYPE char,
    PROXY char,
    IP char,
    DATETIME date 'to_date(:DATETIME,'"["yyyymmdd hh24:mi:ss"] +100"')' ,
    REFERER char,
    SPY char,
    SPY0 char,
    SPY1 char,
    SPY2 char,
    SPY3 char,
    BROWSER char,
    COOKIE char,
    UNKNOWN char,
    qs char
    Im trying to transform the DATETIME field from [19/Nov/2007:18:39:53 +0100] to date 19/10/2007 18:39:53, but have tested with control and cant find the way to do it.
    Any help will be appreciate.

    Play with
    select substr('[19/Nov/2007:18:39:53 +0100]',2,20) the_date
      from dualand if you get 19/Nov/2007:18:39:53 proceed to
    select to_date('19/Nov/2007:18:39:53','DD/MON/YYYY:HH24:MI:SS')
      from dual
    select to_date('19/Nov/2007:18:39:53','DD/Mon/YYYY:HH24:MI:SS')
      from dual
    select to_date('19/Nov/2007 18:39:53','DD/MON/YYYY HH24:MI:SS')
      from dual
    select to_date('19/Nov/2007 18:39:53','DD/Mon/YYYY HH24:MI:SS')
      from dualperhaps one of those will work (if it's the one without : then you must replace it with space using substr and || before using to_date)
    Regards
    Etbin

  • SQL Loader Error : ORA-01830: date format picture ends before converting en

    I am inserting following data
    BES101706     M.E. Deals     7     10/17/2006
    through control file :
    LOAD DATA
    APPEND
    INTO TABLE abc_temp
    FIELDS TERMINATED BY ' '
    TRAILING NULLCOLS
    (BATCH_NAME               ,
    SUPPLIER_NAME          ,
    SUPPLIER_NBR          ,
    INV_DATE "to_date(substr(:INV_DATE,1,10),'MM/DD/YYYY' )"
    But I am getting this error:
    ORA-01830: date format picture ends before converting entire input string
    inv_data is a date field in the database.

    I think it has to do with data format.Exactly.
    You have
    BES101706*M.E.*Deals*7*10/17/2006
    I replace each space with an asterisk. You have 5 columns according to your spec (terminated by '<space>')
    SQL Loader doesn't know that M.E. Deals is the supplier name.
    It's trying to convert 7 as the date.

  • SQL*Loader Error Field in data file exceeds maximum length", version 8.1.6

    Hi All,
    I am trying to load a data file into a database table using SQL loader. I
    received the data in an data file but I saved it as a pipe delimited
    file.
    When I run the SQL Loader command no records are loaded - looking at the log
    file I get the following error:
    Rejected - Error on table FARESDATA, column FANOTESIN.
    Then I tried with substr and doesnt seem to work for values greater than 4000 chars, it only works if the field value is below 4000 chars (say doing a substr for first 3000 chars).
    see the code--------
    LOAD DATA
    INFILE 'p.dat'
    APPEND INTO TABLE PROSPECTUS
    FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
    TRAILING NULLCOLS
    Fanotesin char(4000) "substr(:fanotesin,1,4000)"
    We get the error ORA-01461: can bind a LONG value only for insert into a LONG column when using substr for 4000 chars.
    Please help!
    Thanks,
    Rajesh
    null

    I believe the problem here is that the ORACLE database regards anything > 4000chs as a CLOB (or LONG). 4000 is the maximum length of a varchar2 field in the database, although of course you can declare larger values in PL/SQL. (Since the incoming data is > 4000 chs it is regarded as a LONG and you cannot therefore use SUBSTR on it)
    I think that you must either truncate your data before loading or load into a table with the offending field as a CLOB (or LONG)
    and then use PL/SQL to recreate it in a table with a varchar2(4000) which is otherwise identical. (You can select from a LONG into a varchar2(32000) for example and then truncate before writing out to the new table).

  • Sql*loader to select distinct data

    Hi,
    i am getting the following data from a csv file.
    For repeated values of phone and dept, i am getting duplicate records of empno, empname and sal
    I need to load the distinct record of empno,ename into a emp table
    and then move the data salary and phone numbers into different table.
    Is it possible to do at sql*loader level
    >
    EMPNO EMPNAME SAL PHONE DETP
    1 TOM     2000      99999 20
    1 TOM 2000      22222
    2 BEN 3000     33333 30
    2 BEN     3000      40
    >
    thanks
    sunil

    sunil_dba wrote:
    Hi,
    thanks
    sunilSo what's stopping you then to create primary key on empno column ?

  • Using sql load insert multiple fields data into a single column in database

    Hi ,
    I have my log file in sun OS box something like this
    =======
    (07/29/2009 00:02:24.467) 367518 (07/29/2009 00:02:26.214) 949384011
    (07/29/2009 00:02:26.236) 3675 (07/29/2009 00:02:28.207) 949395117
    (07/29/2009 00:02:28.240) 337710 (07/29/2009 00:02:30.621) 949400864
    =============
    I am trying to insert the data into oracle data base as follows.
    =============================
    column1 : (07/29/2009 00:02:24.467)
    column2 : 367518
    column3 : (07/29/2009 00:02:26.214)
    column4 : 949384011
    ===========================
    Can anyone help me with the control file format?
    someone suggested me the code below.
    ==========
    LOAD DATA
    INFILE 'D:\work\load.txt'
    INTO TABLE sample
    (col1 POSITION(02:24) char,
    col2 POSITION(27:32) INTEGER EXTERNAL,
    col3 POSITION(35:57) CHAR,
    col4 POSITION(60:68) INTEGER EXTERNAL
    ===========
    but this works only for the fixed length data? Please help

    user11744904 wrote:
    Hi ,
    I have my log file in sun OS box something like this
    =======
    (07/29/2009 00:02:24.467) 367518 (07/29/2009 00:02:26.214) 949384011
    (07/29/2009 00:02:26.236) 3675 (07/29/2009 00:02:28.207) 949395117
    (07/29/2009 00:02:28.240) 337710 (07/29/2009 00:02:30.621) 949400864
    =============
    I am trying to insert the data into oracle data base as follows.
    =============================
    column1 : (07/29/2009 00:02:24.467)
    column2 : 367518
    column3 : (07/29/2009 00:02:26.214)
    column4 : 949384011
    ===========================
    Can anyone help me with the control file format?
    someone suggested me the code below.
    ==========
    LOAD DATA
    INFILE 'D:\work\load.txt'
    INTO TABLE sample
    (col1 POSITION(02:24) char,
    col2 POSITION(27:32) INTEGER EXTERNAL,
    col3 POSITION(35:57) CHAR,
    col4 POSITION(60:68) INTEGER EXTERNAL
    ===========
    but this works only for the fixed length data? Please helpIs the requirement to load all data in a single column or multiple columns? The thread subject and body are conflicting.

  • SQL Loader Null Value for Date

    Dear buddies,
    This is how my date column is in my control file.
    dtEdu timestamp(6) with local time zone "YYYY-MM-DD HH24:MI:SS"  "nvl (to_date (:dtEdu, 'YYYY-MM-DD HH24:MI:SS'), to_date ('1982-03-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))",  The problem is some of the columns in dtEdu has NULL values and I couldn't load them.
    So, trying to replace it with something else.
    Could someone help me?
    Thanks a lot.
    Nith

    >
    The problem is some of the columns in dtEdu has NULL values and I couldn't load them.
    >
    I don't know how your so called "NULL" values look like, but if the null data is actually made up of blanks, try adding LTRIM() around :dtEdu.

  • Sql loader problem with point data

    I am struggling to import bulk point data.
    Example line from data file
    2     1     Highest mountain on Skye with steep faces and narrow ridges.     4     32     3001     8307     57.206116     -6.223032     992
    So its all tab deliminated
    3001 is sdo_gtype
    8307 is sdo_srid
    57.xxx is my X point
    -6.xxx is my Y point
    992 is my Z point
    I can import all of the data apart from the final section, and my loader looks like:
    GEOM COLUMN OBJECT
    SDO_GTYPE INTEGER EXTERNAL TERMINATED BY X'09' ,
    SDO_SRID INTEGER EXTERNAL TERMINATED BY X'09',
    SDO_POINT_TYPE(X,Y,Z) INTEGER EXTERNAL TERMINATED BY ','
    Any help? I simply need it take the last three numbers and assign them to x,y,z of point_type.
    Need any more info?

    TSEdinburgh,
    Try
    LOAD DATA INFILE * APPEND INTO TABLE MyTable
    FIELDS TERMINATED BY X'09' TRAILING NULLCOLS
         MyCol1,
         MyCol2,
         description,
         MyCol3,
         MyCol4,
         geom COLUMN OBJECT (
              sdo_gtype INTEGER EXTERNAL,
              sdo_srid INTEGER EXTERNAL,
              sdo_point COLUMN OBJECT (
                   x FLOAT EXTERNAL,
                   y FLOAT EXTERNAL,
                   z FLOAT EXTERNAL
    )Regards,
    Noel

Maybe you are looking for

  • Text messages do not send or takes too long to send

    When i try to send a text they wont send at all or they will take forever to send. i'll also receive texts 30 minutes after they were originally sent.

  • ITunes U Browser Issues with Authentication

    We have had iTunes set up for a while and has worked well up until yesterday. If you click on the following link http://www.aacc.edu/sp/itunes/ifpod.cfm it will not work with IE. It only works with FireFox. I keep getting the following error: Error:

  • Collections in finder, quick add to spotlight comments

    I'm wanting to optimize the way I'm using spotlight, and know that there's a field for spotlight comments when you select and item in finder and command-i... I'm wondering if there's a keyboard shortcut that can let me add spotlight comments directly

  • Problome With Menu's And Saving, illustrator get stuck

    Hello my name is ben and im new user as i download a trial version of Illustartor 5.1 i had few problomes first My menu's are unread able And showing script and not words im attaching a picture [URL=http://www.siz.co.il/view/jmjyl1zmrndg.png.htm][IMG

  • Change the Primary Address, Billing Address, or Shipping Address

    We currently allow the users to add multiple addresses per account, we need to have the ability to change which is the primary address, which is the billing address and which is the shipping address. Currently is the addresses view we can see the Bil