Problems with LKM File to Oracle (SQLLDR)

Hi,
when executed the command Generate CTL file in the LKM File to Oracle (SQLLDR) I get this message:
Code:
SnpsOutFile "-File=/prueba2.ctl" "-CHARSET_ENCODING=ISO8859-1"
OPTIONS (
     SKIP=0,
     ERRORS=0,
     DIRECT=FALSE
LOAD DATA
INFILE "E:\PruebaFichero/prueba2.txt" "STR x'0D0A'"
BADFILE "/prueba2.bad"
DISCARDFILE "E:\PruebaFichero/prueba2.dsc"
DISCARDMAX 1
INTO TABLE USER_01.TC$_0PEDIDOS_CLIENTES
     C1     POSITION(1:3)     
Error message:
java.io.FileNotFoundException: \prueba2.ctl (Acceso denegado)
     at java.io.FileOutputStream.open(Native Method)
     at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
     at java.io.FileOutputStream.<init>(FileOutputStream.java:116)
     at com.sunopsis.dwg.tools.OutFile.actionExecute(OutFile.java:110)
     at com.sunopsis.dwg.function.SnpsFunctionBase.execute(SnpsFunctionBase.java:276)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execIntegratedFunction(SnpSessTaskSql.java:3437)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.executeOdiCommand(SnpSessTaskSql.java:1509)
     at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:44)
     at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:1)
     at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
     at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
     at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
     at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
     at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
     at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
     at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
     at java.lang.Thread.run(Thread.java:662)
Please, if somebody could give me a tip. Thanks!!!

Hi aetl,
The work scheme had not been stored properly...
SnpsOutFile "-File=E:\PruebaFichero/prueba2.ctl" "-CHARSET_ENCODING=ISO8859-1"
OPTIONS (
     SKIP=0,
     ERRORS=0,
     DIRECT=FALSE
LOAD DATA
INFILE "E:\PruebaFichero/prueba2.txt" "STR x'0D0A'"
BADFILE "E:\PruebaFichero/prueba2.bad"
DISCARDFILE "E:\PruebaFichero/prueba2.dsc"
DISCARDMAX 1
INTO TABLE USER_01.TC$_0PEDIDOS_CLIENTES
     C1     POSITION(1:3)     
Thanks!!!
Regards.

Similar Messages

  • Error with LKM File to Oracle(SQLLDR)

    Please help me to resolve error while using LKM File to Oracle(SQLLDR)
    Environment Details: ODI_11.1.1.6.0, Oracle DB 11g
    PFB error message:
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (most recent call last):
      File "<string>", line 22, in <module>
    Load Error: See TEST_SQLLDR.log for details
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2473)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
    Code:
    logfile = r"""<<absolute_path>>/TEST_SQLLDR.log"""
    Line 21: if rc <> 0 and rc <> 2:
    Line 22:  raise "Load Error", "See %s for details" % logfile

    Hi,
    Actual issue lies with "TEST_SQLLDR.log" generation, this file is not getting created but i found TEST_SQLLDR.ctl,TEST_SQLLDR.out were getting created.
    Can you kindly help me with any guess where i am going wrong.
    Thanks in advance.
    Regards,
    Raghuveer

  • Problem in control file created through  LKM File to Oracle (SQLLDR)

    I have a fixed file ABC.txt & it has three fields/columns of length ,C1:= 4, C2 :=10 & C3:=6 & I have to use LKM File to Oracle (SQLLDR) to load data into oracle target table.
    I recieved the following error at step CALL SQLLDR in the KM
    "org.apache.bsf.BSFException: exception from Jython: Traceback (innermost last):
    File "<string>", line 3, in ?"
    Then I checked the control file log & found that the position start value & end value was not defined in control file which is created automatically by LKM
    SQL*Loader-350: Syntax error at line 14.
    Expecting positive integer, found ":".
         C1_C1     POSITION(:), "
    The control file created by ODI is & it's missing the position value.
    OPTIONS (
         SKIP=0,
         ERRORS=0,
         DIRECT=FALSE
    LOAD DATA
    INFILE "C:/SNAPON/EOL.txt"
    BADFILE "C:/SNAPON/ABC.bad"
    DISCARDFILE "C:/SNAPON/ABC.dsc"
    DISCARDMAX 1
    INTO TABLE SNAPON_W.C$_0ABC
         C1_C1     POSITION(:),
         C2_C2     POSITION(:),
         C3_C3     POSITION(:)
    Does any one know why the position value is not created in the control file .
    Edited by: neeraj_singh on Mar 3, 2011 1:25 AM

    Hi Neeraj,
    It is happening because you have not selected the mapping execution area as STAGUING .
    Open your interface , click on each and every column of your target datastore , make sure the "Execute On" is marked on "Staging Area".
    Then run your interface.
    Thanks,
    Sutirtha

  • Load on Error in LKM File To Oracle (SQLLDR)

    We are using LKM File To Oracle (SQLLDR) to upload bulk data file into oracle table. We have a data files which contains 1000 records. For testing we create 500 good records and 500 bad records in this file. Now we want to upload this data file into oracle table.
    I set LKM File To Oracle (SQLLDR) LOA_ERROR param = 10000.
    After running this scenario I found an exception at 4 step of this process "Call sqlldr via Jython".
    I can not understand... why this exception is comming.

    Hi,
    It seems like some problem with your data, if you look into the operator log then you can find the name of the log file from the description tab of "Call sqlldr via jython" step. It will give more exception details to fix the issue.
    Thanks,
    Saravanan Rajavel

  • Odi 10g Customize LKM file to oracle(sqlldr) or improve performance

    Hi everyone,
    I am facing an issue about sqlldr.
    Now I should process about 2000 files in one day.and 2000 files have approximately 200 million records.I am merging 100 files to one main file.Then I am reading this file.I am using LKM FILE to Oracle (sqlldr)I have two question:
    1-)Can I use any LKM instead of LKM SQL to Oracle (sqlldr) which is the better and faster than Sqllldr
    2-)İf I will use LKM sqlldr ,How can I improve this LKM.I am thinking of without work table,but I can't this.Becouse my source and target are not same
    Could anyone help me to solve this problem?
    Regards

    Try this method.
    http://gurcanorhan.wordpress.com/2010/11/13/loading-multiple-files-with-odi/
    Cheers,
    Gurcan.

  • Getting Error while using  LKM File to Oracle(SQLLDR) KM in ODI

    Hi All ,
    Could anyone please help me out on this error which i am getting while using LKM File to Oracle(SQLLDR)
    My Scenario :
    1. I have my CSV file created in one location with some records .
    2. Created a new interface having this CSV file as source(File Technology) and Table as target (Oracle technology)
    3. Here i want to get the contents from csv and store into the target table by using SQLLDR .For that i am using this KM- LKM File to Oracle(SQLLDR)
    4. By Executing the Interface i am getting following error at step 6 -call sqlldr
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (most recent call last):
      File "<string>", line 22, in <module>
    Load Error: See E:\demo1\file/SALES.log for details
      at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
      at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
      at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
      at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
      at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
      at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
      at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
      at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
      at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
      at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
      at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
      at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
      at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
      at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
      at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
      at java.lang.Thread.run(Thread.java:662)
    Caused by: Traceback (most recent call last):
      File "<string>", line 22, in <module>
    Load Error: See E:\demo1\file/SALES.log for details
      at org.python.core.PyException.fillInStackTrace(PyException.java:70)
      at java.lang.Throwable.<init>(Throwable.java:181)
      at java.lang.Exception.<init>(Exception.java:29)
      at java.lang.RuntimeException.<init>(RuntimeException.java:32)
      at org.python.core.PyException.<init>(PyException.java:46)
      at org.python.core.PyException.doRaise(PyException.java:219)
      at org.python.core.Py.makeException(Py.java:1166)
      at org.python.core.Py.makeException(Py.java:1170)
      at org.python.pycode._pyx2.f$0(<string>:59)
      at org.python.pycode._pyx2.call_function(<string>)
      at org.python.core.PyTableCode.call(PyTableCode.java:165)
      at org.python.core.PyCode.call(PyCode.java:18)
      at org.python.core.Py.runCode(Py.java:1204)
      at org.python.core.Py.exec(Py.java:1248)
      at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
      at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
      ... 19 more
    Here the sales.log file is not created in the above directory .I am not getting  where it is actually went wrong.
    I searched for the solution and i could not find any.Please help me out as it is high priority for me.
    I tried to run SQL*Loader through command prompt and i am able to generate the data in the target table and not getting it through ODI.
    Atleast is there any workaround .Please suggest me.
    Environment Details: ODI_11.1.1.7.0, Oracle DB 11g
    Thanks,
    keerthi

    Which agent are you using to execute?
    Standalone? If standalone, did you start it with OPMN?  I've seen such issues with standalone agent started with OPMN.
    Generally these kind of issues occur when you try to run with standalone agent started with OPMN.
    Because OPMN does not have access to the environment shell variables PATH or ORACLE_HOME and therefore the sqlldr.exe binary (or other Oracle product binary) is not found for execution.
    In this case, you need to specify PATH and ORACLE_HOME variables in opmn.xml file like below for your agent(say "MyStandaloneAgent" in this case)
    <ias-component id="MyStandaloneAgent">
    <process-type id="odiagent" module-id="CUSTOM">
      <environment>
         <variable id="ORACLE_HOME" value="C:\oracle\product\11.2.0\client_1"/>
          <variable id="PATH" value="C:\oracle\product\11.2.0\client_1\BIN;$PATH"/>
    After that, start and stop the agent and try the execution once again.

  • Error While using LKM File to Oracle(SQLLDR)

    Hi ,
    When I am trying to load the data from flat file to oracle table using LKM File to oracle (SQLLDR) it is getting failed with below error message.
    SQL*Loader-128: unable to begin a session
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    HPUX-ia64 Error: 2: No such file or directory
    I am able to execute SQLLDR scriptdirectly on the server but When access it through ODI LKM getting this error message. Any help on this please.
    Thaks ,
    Katta

    Is the agent you are executing the interface under located on the same server as the SQLLDR utility?

  • Flat file to Oracle using --- LKM File to Oracle (SQLLDR)

    Hello All,
    I am planning to replicate simple sqlldr process below in ODI. Two things I cannot do, 1) I cannot modify exisiting tables for creating new sequences 2) We need SEQ column to start with 1 always(tried sequence in odi, didn't work as expected). I am not really good at jython nor java to be able to code "SEQ SEQUENCE (MAX,1) " process in knowledge module(LKM File to Oracle (SQLLDR)) during control file creation. please advice.
    thanks in advance.
    OPTIONS ( SKIP=0)
    LOAD DATA
    INFILE 'e:\Hyperion\DRM\Loadfile\wfc\WFC_1GLO_LE.txt'
    BADFILE 'E:\Hyperion\ODI\Logs\WFC_1GLO_LE.bad'
    DISCARDFILE 'E:\Hyperion\ODI\Logs\WFC_1GLO_LE.dsc'
    TRUNCATE INTO TABLE "MDM_STAGE"."WFC_1GLO_WFLE"
    FIELDS TERMINATED BY X'9'
    TRAILING NULLCOLS
    SEQ SEQUENCE (MAX,1),
    PARENT,
    CHILD,
    CHILD_ALIAS,
    ATTRIBUTE1,
    ATTRIBUTE2,
    ATTRIBUTE3)

    You must modify LKM/IKM to create new sequence for each table. Typically, you should load the file into a C$ table in LKM and then call the sequence to get new key ids in IKM stage. But you can do this in LKMif you know what you are doing.
    Duplicate LKM or IKM (in this case, LKM File to Oracle (SQLLDR)). Add two steps to the LKM before load step. In the first new step, add drop sequence statement like DROP SEQUENCE <%=odiRef.getTable("L", "TARG_NAME", "W")%>SEQ. Mark this step as "Ignore Error" so that load does not fail when sequence would not exist during the first run. In the second new step, create the sequence <%=odiRef.getTable("L", "TARGNAME", "W")%>_SEQ. That way your sequence value will start from 1 always. Be careful during the incremental run though.
    Happy debugging.

  • Where Dir is creating while using LKM -- File To Oracle(sqlldr) ?

    Hi All,
    I have created an interface (file -table) where I am using LKM -- File To Oracle(sqlldr) .
    But I am getting error -- at the time of creating DIR
    Error :-- Caused By: java.sql.SQLSyntaxErrorException: ORA-01031: insufficient privileges
    Code :-- create or replace directory dat_dir AS 'TEST_FILE'
    I have requested DBA to give permission for this user to create Dir.
    But he is asking which Directory he should give permission to create directory.
    -- Kindly provide a directory on the server. I will create an Oracle Directory object on it and give read and write privilege to "XYZ" schema.
    1> can any body help me that where this LKM is creating the DIR by default.I mean in which path.
    2> My other query is from where I can get the Agent log. If I have to set up for the log path then from where to set up?
    Not:- I am using ODI 11G
            DB server is different from where ODI is installed.
    Thanks,

    I looked into the KM steps and seems like the file is created in the same directory as your source file.
    Agent log can be found under <server>/logs/oracledi for jee agent or under oracledi/log for standalone agent. For more info please check  Troubleshooting Oracle Data Integrator - 11g Release 5 (11.1.5)

  • LKM File to Oracle (SQlLDR) giving errors

    Hi,
    I am using ODI to load data from an ascii file ( pipe separated) to an Oracle Table. So I created a Interface with LKM as "File to Oracle (SQlLDR)" and IKM as "SQL Control Append". CKM is "CKM Oracle".
    I am using ODI Studio 11g with jdk 1.6 and am trying this on my windows XP machine. I also have sqlldr installed on my local machine. But still the interface fails with an error. The interface works if i use "LKM File to SQL" but i want to use SQLLDR because i will have high volumes coming in.
    Can you please help.
    Interface Error on Step Call sqlldr :
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 34, in ?
    Load Error: See K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.log for details
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:345)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:169)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2374)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java:1615)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java:1580)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java:2755)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2515)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:534)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:449)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1954)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1818)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:559)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:224)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:481)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1040)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:114)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
    at java.lang.Thread.run(Thread.java:619)
    Jython Code :
    import java.lang.String
    import java.lang.Runtime as Runtime
    from jarray import array
    import java.io.File
    import os
    import re
    import javaos
    def reportnbrows():
    f = open(r"K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.log";, 'r')
    try:
    for line in f.readlines():
    if line.find("MAXIMUM ERROR COUNT EXCEEDED")>=0 :
    raise line
    finally:
    f.close()
    ctlfile = r"""K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.ctl";""
    logfile = r"""K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.log";""
    outfile = r"""K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.out";""
    oracle_sid=''
    if len('')>0: oracle_sid = '@'+''
    loadcmd = r"""sqlldr apps/<@=snpRef.getInfo("DEST_PASS") @>%s control="%s" log="%s" > "%s" """ % (oracle_sid,ctlfile, logfile, outfile)
    rc = os.system(loadcmd)
    if rc <> 0 and rc <> 2:
    raise "Load Error", "See %s for details" % logfile
    if rc==2:
    reportnbrows()

    If the log file is not created, are any of the other files getting created. eg: K:\Project Galaxy\Tech Team\ODIDataFiles/NIN_GL_BALANCES.ctl ?
    If not, what is the Agent you are using to run this interface ? Local or any other ?
    I can think of 2 possibilities:
    1.) The user with whose credentials the agent is has been started, doesnt have permissions to write into the directory above. But if you are using a local agent, then this possibility doesnt hold.
    2.) Try using K:\ProjectGalaxy\TechTeam\ODIDataFile as the path *(REMOVE THE SPACES from the directoryname)*. Create new directories without spaces.
    I think the call to sqlldr is choking on these spaces.

  • Tryo to customize LKM File to Oracle (SQLLDR) customized - syntax issue !

    Hello All,
    I have to modify a little the step "Generate CTL file" of the LKM File to Oracle to get a correct ctl file...
    I want to test the datatype of the column. If this is the column of type "DATE", I want to add the dateFormat to apply...
    Here is the original line of the KM :
    *<%=snpRef.getColList("", "[CX_COL_NAME]" , ",\n\t", "","")%>*
    Here is my custom code. I try to test fi the DEST_DT is of type Date and if yes, I want to add the following text "to_date(:[CX_COL_NAME], 'YYYY-MM-DD'"
    *<%=snpRef.getColList("", "[CX_COL_NAME]"<?if ("[DEST_DT]".equals("DATE")){>? " to_date(:[CX_COL_NAME], 'YYYY-MM-DD')" <?}?> ," ,\n\t", "","")%>*
    Here is the result that I want to get (in bold, the date column) :
    OPTIONS (
         SKIP=1,
         ERRORS=1,
         DIRECT=FALSE
    LOAD DATA
    INFILE "C:\caljef\countryfilesDB/20080702.txt"
    BADFILE "C:\caljef\countryfilesDB/Country_File.bad"
    DISCARDFILE "C:\caljef\countryfilesDB/Country_File.dsc"
    DISCARDMAX 1
    INTO TABLE ODITEMP.C$_0COUNTRY_FILES
    FIELDS TERMINATED BY X'09'
    TRAILING NULLCOLS
    C1_RC,
         C2_UFI,
         C3_UNI,
         C4_LAT,
         C23_SORT_NAME,
         C24_FULL_NAME,
         C25_FULL_NAME_ND,
         C26_MODIFY_DATE *"to_date(:C26_MODIFY_DATE, 'YYYY-MM-DD')"*
    How to insert an "if" in the the getColList function ? I put the * <? and ?> * operators, but it seems not to work....
    And How do I deal with the quotes... if I want to add quotes in my text, should put double quotes ?
    I get this type of error when executing this code :
    com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Erreur lors de l'interprétation de la syntaxe d'une tâche
    Tâche :5
    +java.lang.Exception: BeanShell script error: Parse error at line 2, column 5.  Encountered: [ BSF info: Generate CTL file at line: 0 column: columnNo+
    +     at com.sunopsis.dwg.codeinterpretor.a.a(a.java)+
    +     at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)+
    +     at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)+
    +     at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)+
    +     at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)+
    +     at com.sunopsis.dwg.cmd.e.i(e.java)+
    +     at com.sunopsis.dwg.cmd.g.y(g.java)+
    +     at com.sunopsis.dwg.cmd.e.run(e.java)+
    +     at java.lang.Thread.run(Thread.java:619)+
    Thanks a lot for your Help !!!

    Hello CTS,
    Again thank you for your help.
    Unfortunately, it does not work. There's improvement, now I can execute the code without errors.
    But the CTL file genertad is still incorrect.. :-(
    The IF equals... statement seems to be is ignored. The code always runs through the else.
    I tried to display the value of DEST_DT, and that's correct, the field is of type "DATE".
    Here the file generated by with the code you send me :
              :C20_LC,
              :C21_SHORT_FORM,
              :C22_GENERIC,
              :C23_SORT_NAME,
              :C24_FULL_NAME,
              :C25_FULL_NAME_ND,
              :C26_MODIFY_DATE
    And here is the file that I would get :
              :C20_LC,
              :C21_SHORT_FORM,
              :C22_GENERIC,
              :C23_SORT_NAME,
              :C24_FULL_NAME,
              :C25_FULL_NAME_ND,
              :C26_MODIFY_DATE *"to_date(:C26_MODIFY_DATE, 'YYYY-MM-DD')"*
    The solution should not be far..... but I can't fin the right syntax !! It's become crazy!
    Any other Idea ?
    thanks for help
    glains

  • Problem with Fixed File to Oracle - LKM File to Oracle (SQLLDR)

    Hi all,
    I have a problem when I try to load data from a fixed file to a Oracle table.
    I had created my Datastore as a File and with the "Inversion" I set all the columns definition of my fixed file.
    When I try to execute the interface, I have this error:
    org.apache.bsf.BSFException: exception from Jython: Traceback (innermost last):
    File "<string>", line 3, in ?
    OS command has signalled errors
    ecc...
    I looked the file CTL, created by ODI and it looks like this:
    OPTIONS (
    +     SKIP=0,+
    +     ERRORS=0,+
    +     DIRECT=FALSE+
    +     )+
    LOAD DATA
    INFILE "c://Dati_Gabel_ODI/SPEDITO.TXT"
    BADFILE "c://SPEDITO.bad"
    DISCARDFILE "c://SPEDITO.dsc"
    DISCARDMAX 1
    INTO TABLE DWH_STAGE.C$_0DM_SPEDITO
    +(+
    *     C1_CODCLI     POSITION(:),*
    *     C2_DESMER     POSITION(:),*
    *     C3_AZIEND     POSITION(:),*
    It seems to me that it's missing the start and the end position of the columns in the file ...
    Why it do so ? I do something wrong ?
    Thanks for the help !
    Umberto

    Hi Umberto,
    This is a known issue in ODI version 10.1.3.4.0.
    Please check the mapping between the source and the target. All the mappings must be done in the Staging Area.
    For that all you need to do is make sure the option button(Staging Area) is chosen.
    Thanks,
    Saravanan

  • Error using LKM File to Oracle SQLLDR

    Hi,
    we are getting the following error when trying to use SQLLDR LKM
    The error file says the table does not exist although I can see it in the database.
    Any ideas?
    Oracle DB 9i
    SQLLDR 10.2
    Load.out
    SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jan 20 16:30:58 2011
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Load.log
    SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jan 20 16:30:58 2011
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Control File: D:\HFMBACKUP\/LOAD.ctl
    Data File: D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TXT
    File processing option string: "str X'0D0A'"
    Bad File: D:\HFMBACKUP\/LOAD.bad
    Discard File: D:\HFMBACKUP\/LOAD.dsc
    (Allow 1 discards)
    Number to load: ALL
    Number to skip: 1
    Errors allowed: 0
    Continuation: none specified
    Path used: Direct
    Table ODISTAG."C$_12181010HFMData", loaded from every logical record.
    Insert option in effect for this table: INSERT
    TRAILING NULLCOLS option in effect
    Column Name Position Len Term Encl Datatype
    C1_SCENARIO FIRST * ; CHARACTER
    C2_YEAR NEXT * ; CHARACTER
    C3_VIEW NEXT * ; CHARACTER
    C4_ENTITY NEXT * ; CHARACTER
    C5_VALUE NEXT * ; CHARACTER
    C6_ACCOUNT NEXT * ; CHARACTER
    C7_ICP NEXT * ; CHARACTER
    C8_PERIOD NEXT * ; CHARACTER
    C10_C1 NEXT * ; CHARACTER
    C13_C2 NEXT * ; CHARACTER
    C9_C3 NEXT * ; CHARACTER
    C12_C4 NEXT * ; CHARACTER
    C11_VALUE1 NEXT * ; CHARACTER
    SQL*Loader-951: Error calling once/load initialization
    ORA-00942: table or view does not exist
    Load CTL
    OPTIONS (
         SKIP=1,
         ERRORS=0,
         DIRECT=TRUE
    LOAD DATA
    INFILE "D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TXT" "str X'0D0A'"
    BADFILE "D:\HFMBACKUP\/LOAD.bad"
    DISCARDFILE "D:\HFMBACKUP\/LOAD.dsc"
    DISCARDMAX 1
    INTO TABLE ODISTAG."C$_12181010HFMData"
    FIELDS TERMINATED BY X'3B'
    TRAILING NULLCOLS
         C1_SCENARIO     ,
         C2_YEAR     ,
         C3_VIEW     ,
         C4_ENTITY     ,
         C5_VALUE     ,
         C6_ACCOUNT     ,
         C7_ICP     ,
         C8_PERIOD     ,
         C10_C1     ,
         C13_C2     ,
         C9_C3     ,
         C12_C4     ,
         C11_VALUE1     
    )

    Hi,
    Check the paths - seems like you have a combination of forward slashes and back slashes in the pathnames..
    D:\HFMBACKUP\/LOAD.ctl and
    D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TX for example have combination '\/' after HFMBACKUP.
    cheers
    Bos

  • Problem with flat-file to oracle

    Hi all,
    Flat-file has 7 columns , all are varchar
    SALE_2007
    C1 VARCHAR2(255),
    C2 VARCHAR2(255),
    C3 VARCHAR2(255),
    C4 VARCHAR2(255),
    C5 VARCHAR2(255),
    C6 VARCHAR2(255),
    C7 VARCHAR2(255)
    target also has 7 columns , first four column were varchar and the last 3 columns were numeric(20,2).
    SALE
    TIMECODE VARCHAR2(255),
    CUSTCODE VARCHAR2(255),
    SALECODE VARCHAR2(255),
    PRODUCTCODE VARCHAR2(255),
    AMOUNT NUMERIC(20,2),
    COST NUMERIC(20,2),
    SALEAMOUNT NUMERIC(20,2)
    I have mapping the transformation on the staging with these function (ordering by order as above)
    SALE_2007.C1
    SALE_2007.C2
    SALE_2007.C3
    SALE_2007.C4
    TO_NUMBER(REPLACE(SALE_2007.C5,',',''))
    TO_NUMBER(REPLACE(SALE_2007.C6,',',''))
    TO_NUMBER(REPLACE(SALE_2007.C7,',',''))
    I have to use replace function because in the text file there is a comma in the data eg. 1,400.35
    and the ODI will error in the step insert into flow table with error
    +1722 : 42000 : java.sql.SQLException: ORA-01722: invalid number+
    java.sql.SQLException: ORA-01722: invalid number*
    Please advise
    Thank you all

    Hi-
    It seems like there is non-numeric characters present in your C5-C7 columns. Please check your source data for these columns.
    Thanks,
    Saravanan Rajavel

  • IKM File to Oracle (SQLLDR)

    Gurus,
    I am in the process of creating IKM File to Oracle (SQLLDR) per metalink note 762723.1 using ODI version 10.3.5.4, but it doesn't work the way it is described in the note. Thus the questions are:
    1. Does the IKM exist and where can I download one. I can't find it on metalink.
    2. If that doesn't exist, and I have to create one, then I need help figuring out creation of sqlldr control file for fixed length flat file. how do I reference the fixed length file attrbutes ( like field positions/format ) when I create the control file. Here is what I currently have:
         <%=odiRef.getColList("", "[CX_COL_NAME]\tPOSITION([FILE_POS]:[FILE_END_POS])\t"+
              "<?=sqlldrColFormat.get(\u0022[CX_COL_NAME]\u0022,\u0022[SOURCE_DT]\u0022, \u0022[DEST_DT]\u0022, \u0022[COL_FORMAT]\u0022, \u0022[LONGC]\u0022, \u0022[SCALE]\u0022)?>"
         , ",\n\t", "","")%>
    That code does not work.
    Also to avoid any confusion my IKM is set up as multi-connections and I set staging where my files are.
    Thank You.
    Edited by: user12118531 on Nov 9, 2009 3:05 PM

    If you have a situation where you want a "one-step" interface (often the simplest SELECT and INSERT), there is a way in ODI. You should select the "Staging different from target" checkbox on the Definition tab. Then select the schema in the drop-down which corresponds to your source schema (in effect you are saying "the data is already in the staging area"). Now when you go to the Flow tab, you will see it does not offer you the option of an LKM, but of course you do have to have a multi-technology IKM - like "IKM SQL to SQL Append".

Maybe you are looking for

  • Web service, servlet, HttpServletResponse, Locale

    Hello guys! I have two questions: - Can a servlet be a web service? - For the next one, I supposed that yes... I'm trying to build a web service from a servlet and I get a strange error. I simplified the code to the maximum, and it became like this:

  • R/3 to R/3 IDOC Sending with HTTP

    Hello everybody, I'm trying to send an Idoc from one R/3 System to another, I'm trying to use the function module IDOCS_OUTPUT_VIA_XML_HTTP and it requires an XML HTTP port in we21, now I'm trying to create an HTTP RFC connection but I'm lost with th

  • "Home scr.:Feature not supported" problem in n97

    hai , is anybody know how to fix the problem "home scr.:Feature not supported" , so you can't load your home screen in nokia n97?

  • Maximum amount of video?

    When I put about 100 videos in my itunes library the program stops working. I have to delete the videos otherwise I cannot use itunes anymore (it will crash everytime when i try to start it). Does itunes have a maximum amount of data or videos it can

  • Adding a signature to e-mails

    I would like to add a signature to my e-mails.  Everytime I click the e-mail settings on Blackberry Desktop Manager, it tells me that "Email settings are not available without an online connect to your messaging system."  So I log on to my e-mail via