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)

Similar Messages

  • 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.

  • 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

  • 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.

  • 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.

  • 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

  • Two problems in using LKM file to sql

    hi all,
    i met two problems during use "LKM file to sql" for loading data from csv file to oracle db. please try to help me, thanks a lot!
    my environment:
    os: win 7
    odi version: 11g
    The 1st condition is: in the 10th step of the execute session, a table called ".SNP_CHECK_TAB" which could not be created in oracle will be created!
    If i modify it to SNP_CHECK_TABLE, the step will pass...
    why naming table like this?
    create table .SNP_CHECK_TAB
         CATALOG_NAME     VARCHAR2(100 CHAR) NULL ,
         SCHEMA_NAME     VARCHAR2(100 CHAR) NULL ,
         RESOURCE_NAME     VARCHAR2(100 CHAR) NULL,
         FULL_RES_NAME     VARCHAR2(100 CHAR) NULL,
         ERR_TYPE          VARCHAR2(1 CHAR) NULL,
         ERR_MESS          VARCHAR2(250 CHAR) NULL ,
         CHECK_DATE     DATE NULL,
         ORIGIN          VARCHAR2(100 CHAR) NULL,
         CONS_NAME     VARCHAR2(35 CHAR) NULL,
         CONS_TYPE          VARCHAR2(2 CHAR) NULL,
         ERR_COUNT          NUMBER(10) NULL
    The 2nd condition is: i want to filter out certain name in the source table and the filter string is "BRE.name!='some_value'".
    When I clicked the "Testing query" button, the following error shows:"Error while executing query Invalid format description".
    It works well when the source db is oracle, why not file? Is there any format for the filter string in file? I don't think so...
    Jun

    Hi Jun,
    Can i contribute a little for ur 2nd problem.
    This error is coz, If u are using a filter against a File "data store" u can't test it, only against RDBMS query will be tested at data store level.
    Well, for using that filter and make sure its working, drag and drop the source file in the interface (u can get the filter) and make it to execute on STAGING.
    Thanks,
    Guru

  • Error in loading data into essbase while using Rule file through ODI

    Hi Experts,
    Refering my previous post Error while using Rule file in loading data into Essbase through ODI
    I am facing problem while loading data into Essbase. I am able to load data into Essbase successfully. But when i used Rule file to add values to existing values I am getting error.
    test is my Rule file.
    com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Cannot put olap file object. Essbase Error(1053025): Object [test] already exists and is not locked by user [admin@Native Directory]
    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:346)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2458)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
    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:2906)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:540)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
    at java.lang.Thread.run(Thread.java:662)
    from com.hyperion.odi.common import ODIConstants
    from com.hyperion.odi.connection import HypAppConnectionFactory
    from java.lang import Class
    from java.lang import Boolean
    from java.sql import *
    from java.util import HashMap
    # Get the select statement on the staging area:
    sql= """select C1_HSP_RATES "HSP_Rates",C2_ACCOUNT "Account",C3_PERIOD "Period",C4_YEAR "Year",C5_SCENARIO "Scenario",C6_VERSION "Version",C7_CURRENCY "Currency",C8_ENTITY "Entity",C9_VERTICAL "Vertical",C10_HORIZONTAL "Horizontal",C11_SALES_HIERARICHY "Sales Hierarchy",C12_DATA "Data" from PLANAPP."C$_0HexaApp_PLData" where (1=1) """
    srcCx = odiRef.getJDBCConnection("SRC")
    stmt = srcCx.createStatement()
    srcFetchSize=30
    #stmt.setFetchSize(srcFetchSize)
    stmt.setFetchSize(1)
    print "executing query"
    rs = stmt.executeQuery(sql)
    print "done executing query"
    #load the data
    print "loading data"
    stats = pWriter.loadData(rs)
    print "done loading data"
    #close the database result set, connection
    rs.close()
    stmt.close()
    Please help me on this...
    Thanks & Regards,
    Chinnu

    Hi Priya,
    Thanks for giving reply. I already checked that no lock are available for rule file. I don't know what's the problem. It is working fine without the Rule file, but throwing error only when using rule file.
    Please help on this.
    Thanks,
    Chinnu

Maybe you are looking for

  • Check number error

    we issue check number 30301(void) , 30302( with amount 3000), check 30302 and 30301 are for same payment. 30303 (with amount 2400)  in production server, now we want to renumber 30303 with 30304, 30304 to 30305. which T-code can we use? thanks

  • Update materials automatically in formulation?

    Dear Sir/Madam, When the nutrition or compliance data of materials change, it should be updated in the formulation one by one manually. then the changed nutrition data or compliance data can roll up into the formulation output. Can we click once in t

  • Installing an add-in for Outlook 2010

    We are attempting to install an add-in to Outlook 2010 32-bit on a 64-bit platform. The installation has been built in Installshield 2012 and on my own profile correctly installs the registry entries (into HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Micr

  • Same Output through BPM

    Hi, I have used the Switch condition in BPM to determine the receiver from the IDOC. 1) I am getting the same output(same content) for both the receivers though i have given the filter condition in the BPM. 2) In SXMB_MONI i get 3 messages, the first

  • HT1925 This didnt work for me.

    This didnt work for me. I tried with all types of browsers and it didnt give me a download option. It shows a 'thnkyou' page instead!!!! To make it work, i had  to manually type the itunes download url, "http://appldnld.apple.com/iTunes11/041-9795.20