Refreshing ODI Variable through startscen.bat

Hi,
I am trying to refresh an ODI variable using startscen.bat Batch file.. I need be sending the variable value through cmd so that ODI variable gets refreshed with input value..
Can you please give me the syntax for the same.
Thanks

Let me explain my scenerio:
I have a variable defined in ODI as "SCEN_TEST" This variable needs to be refreshed from a csv file present on a my local machine.
Say the csv file has a single column and multiple rows in it:
CSV File:
TEST1
TEST2
TEST3
I have created a batch file ..
I have a CMD command in batch file which creates a for loop which will pick up each row from the csv file.
When the for loop starts in cmd it will pick up TEST1 on its first run , TEST2 on its second etc..
So i need to refresh the ODI variable with TEST1 during first instance , TEST2 during second run etc.
So i am calling the scenerio of the variable using startscen.bat <<scen_name>> <<version>> <<context>>
Now my problem is i need to refresh the ODI variable by the value "TEST1" "TEST2" during consecutive runs..
(Note : I am not inputting the variable value using startscen.bat but i need to refresh the ODI variable by calling variable scenerio)
Thanks

Similar Messages

  • How to refresh ODI variables from file

    Hi,
    I followed the fillowing links to implement the dynamic file parameter passing in to the resource name of a datastore.
    part-1. http://odiexperts.com/how-to-refresh-odi-variables-from-file-%E2%80%93-part-1-%E2%80%93-just-one-value
    part-2. http://odiexperts.com/how-to-refresh-odi-variables-from-file-%e2%80%93-part-2-%e2%80%93-getting-all-lines-once-at-time
    For me first part is working fine where as in second part i made canvas looks like
    Vlinevariable(refreshing variable)------------------dyanamicfile(refereshing variable)--------------------- interface.
    Interface looks like Flatfile to db ,km's are lkm file------sql and ikm is sql incremental update
    Vlinevariable is working fine where i am getting numbers in sequence manner to assign in to code of dynamicfile variable and in dynamicfile is not taking that value in to that code and causing session failed.
    The code which i put in a refreshing code of dynamicfile is followed below
    select     samplefile1_csv     C1_SAMPLEFILE1_CSV
    from      TABLE
    /*$$SNPS_START_KEYSNP$CRDWG_TABLESNP$CRTABLE_NAME=code_generationSNP$CRLOAD_FILE=C:\file/my_test_file.txtSNP$CRFILE_FORMAT=DSNP$CRFILE_SEP_FIELD=0x0009SNP$CRFILE_SEP_LINE=0x000D0x000ASNP$CRFILE_FIRST_ROW=1SNP$CRFILE_ENC_FIELD=SNP$CRFILE_DEC_SEP=SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=samplefile1_csvSNP$CRTYPE_NAME=STRINGSNP$CRORDER=1SNP$CRLENGTH=50SNP$CRPRECISION=50SNP$CRACTION_ON_ERROR=0SNP$CR$$SNPS_END_KEY*/
    For the firstrow the number has to get from vlinevariable where in my case not working .
    In session while loading the interface (load data) i am getting error like
    message-------------- ODI-1227: Task SrcSet0 (Loading) fails on the source FILE connection file_tgt.
    Caused By: java.sql.SQLException: File not found: C:\file/
         at com.sunopsis.jdbc.driver.file.FileResultSet.<init>(FileResultSet.java:160)
         at com.sunopsis.jdbc.driver.file.impl.commands.CommandSelect.execute(CommandSelect.java:57)
         at com.sunopsis.jdbc.driver.file.CommandExecutor.executeCommand(CommandExecutor.java:33)
         at com.sunopsis.jdbc.driver.file.FilePreparedStatement.executeQuery(FilePreparedStatement.java:131)
         at com.sunopsis.sql.SnpsQuery.executeQuery(SnpsQuery.java:602)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.executeQuery(SnpSessTaskSql.java:3078)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders(SnpSessTaskSql.java:571)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java:2815)
         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 oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:322)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:224)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:246)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:237)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:794)
         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)
    source code is select     a     C1_A,
         b     C2_B
    from      TABLE
    /*$$SNPS_START_KEYSNP$CRDWG_TABLESNP$CRTABLE_NAME=sample1SNP$CRLOAD_FILE=C:\file/#PROJECT1.FILENAMESNP$CRFILE_FORMAT=DSNP$CRFILE_SEP_FIELD=0x002cSNP$CRFILE_SEP_LINE=0x000D0x000ASNP$CRFILE_FIRST_ROW=1SNP$CRFILE_ENC_FIELD=SNP$CRFILE_DEC_SEP=SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=aSNP$CRTYPE_NAME=NUMERICSNP$CRORDER=1SNP$CRLENGTH=50SNP$CRPRECISION=12SNP$CRACTION_ON_ERROR=0SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=bSNP$CRTYPE_NAME=NUMERICSNP$CRORDER=2SNP$CRLENGTH=50SNP$CRPRECISION=12SNP$CRACTION_ON_ERROR=0SNP$CR$$SNPS_END_KEY*/
    target code insert into STAGING.C$_0SAMPLE1
         C1_A,
         C2_B
    values
         :C1_A,
         :C2_B
    KIndly help me and thanks in advance.

    ODI is complaning it cannot locate the file. Try replacing the '/' character with a '\' after file in the designated filepath.

  • How to refresh ODI variable as part of a Knowledge Module?

    Hi,
    I want to know how can i refresh a ODI varaible in a knowledge module using oracle Technology. EX: i have created a variable called VAR_TEST in ODI.
    In one of the knowledge module steps, i want to refresh as mentioned below:
    begin
    select colname into #VAR_TEST from tablename;
    end;
    Many thanks ....

    Hi Martin,
    Put the query in the refresh tab into the variable, generate a scenario from the variable and call the scenario thru "OdiStartScen" (Sunopsis API technology) from KM.
    In this case the variable needs to be "Last Value"
    An alternative is to use a Java variable instead.... Works better to KM's.
    Does it help you?
    Cezar Santos
    http://odiexperts.com

  • StartScen.bat passing variable

    I'm using the following command via a windows command line.
    StartScen.bat SCEN_PROCESS_DATE 001 DEVELOPMENT 5 "-NAME=ODI_DW" "-v=5" "-#EDW.process_date='3/18/2011'"
    The scenario completes but #EDW.process_date fails to get updated.
    Any help would be appreciated.
    Edited by: whit on Mar 19, 2011 1:13 PM

    This did not work for me. Here is what I have in place.
    1) variable named process_date
    2) scenario named SCEN_PROCESS_DATE (this scenario includes the variable process_date (refresh mode) and another scenario which needs to utilize the newly refreshed variable.
    I need to execute the scenario SCEN_PROCESS_DATE by command line and pass in the value to refresh the variable named process_date. Although the scenario executes without error or warning, it fails to update the variable.
    StartScen.bat SCEN_PROCESS_DATE 001 DEVELOPMENT 5 "-NAME=ODI_DW" "-v=5" "-EDW.process_date='3/18/2011'"
    Thanks in advance for any help.

  • ODI - refresh a variable from a file field

    Hi,
    Is it possible to refresh directly a ODI variable from value stored in a file ? I find a workaround by loading the file into a temp table, and then make a variable refresh, but this solution is not good for me.
    Any other idea ?
    Thanks,
    JP

    http://odiexperts.com/how-to-refresh-odi-variables-from-file-%E2%80%93-part-1-%E2%80%93-just-one-value
    gives you the step for refreshing variable from file

  • Odi Variable with dynamical refreshing(Solved)

    Hi,
    I have a ODI variable used in 3 packages. This variable get number of records of the table, but table changes. Example:
    if package A Variable refreshing with select count(1) from TABLE_SYS
    if package B Variable refreshing with select count(1) from TABLE_DEM
    if package C Variable refreshing with select count(1) from TABLE_BOL
    I do not want create 3 variables, I want to use only one. Its possible?
    Thanks.
    Edited by: Uthred on Sep 1, 2008 6:04 PM

    Hi, i solved the problem!
    I use java tags in the refreshing variable:
    select count(1) from
    <@ if ("<%=odiRef.getSession( "SESS_NAME" )%>" == "PACKAGE_A") {@>
    <%=odiRef.getSchemaName( "D" )%>.TABLE_SYS
    <@} else if ("<%=odiRef.getSession( "SESS_NAME" )%>" == "PACKAGE_B") {@>
    <%=odiRef.getSchemaName( "D" )%>.TABLE_DEM
    <@} else if ("<%=odiRef.getSession( "SESS_NAME" )%>" == "PACKAGE_C") {@>
    <%=odiRef.getSchemaName( "D" )%>.TABLE_BOL
    <@} else {@>
    <%=odiRef.getSchemaName( "D" )%>.TABLE_SYS
    <@ } @>
    where FL = 'N'
    Thanks.

  • Changing substitution variables through ODI

    Hi John!
    We using ODI for loading data, before load we have to clear data.
    I have 2 questions regarding this issue:
    1. Can I change substitution variables through ODI
    2. Can I execute BR in Essbase.cmd
    Regards
    Sasha

    Hi,
    1. You can call maxl to update the substitution variables, either using the pre-maxl options in the KMs
    or you can execute an OS command through an ODI procedure
    2. I am not sure what you are asking, are you asking whether you can execute BRs through ODI, if so have a read of my last blog where I covered how to do it.
    You can execute BRs by using the command line launcher, have a read of the blog anyway because it goes through the command line launcher.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • ODI: Variable refresh via Jython?

    Hello,
    I have a very little question, I hope.....
    I use the first time project variables with a SQL-Statement for refreshing...
    But, how I can refresh this variable via Jython? Even I want to access it says, that no value exists.
    IF I refresh manualy it works fine.
    How can I init this explicit via Jython?
    thanks....

    Did you try running the sqlldr command on the shell using the same control file ?
    I guess it will work fine.
    This is an ODI bug 8560194 due to which even if a single record errors out in sqlldr, the ODI signals an error despite the fact that LOA_ERRORS > 0
    Hope that helps.

  • ODI variable refresh from a file

    In one of the the threads in the past I read some tips about how to refresh a variable from a flat file. I have some information in a flatfile which I need as a variable.
    Now I am reading the flat file into a SQL table and then refreshing it into the variable. I guess we can do this in one step. I am sure I read blog something about it. If anyone aware of the thread can you send the link.
    Thanks

    http://odiexperts.com/?p=243
    http://odiexperts.com/?p=243

  • Jython scripting and ODI variables

    Hi,
    I've had a look through the documentation but wans't able to find the answer to this, apologies if it's in there.
    Some ETL tools that we've used previously have their own scripting language embedded within the tool. This allows us to populate, refresh and evaluate variables within scripts. The values of the variables can then be used with queries as mapping or restrictions in the where clause.
    The question I've got is - can ODI variables be used within Jython scripts in a similar way? Can they be passed in, values assigned, returned and used within the project? If not, can this only be achieved through the SQL query that is part of the variable definition.
    Hope this question makes sense, it's really a comparison with the scripting language and variables that we use in another tool.
    Thanks

    Hello,
    I see what you are trying to achieve, and I believe you got it all right.
    Variables can be retrieved using the #VARIABLE_NAME expression in Jython scripts, mappings, filters, or anywhere else.
    They can be set only
    - Through a set variable step to a constant value.
    - In a refresh variable step to the (mono-field, mono-record) result of a SELECT statement.
    You cannot do in some Jython code something like: #VARIABLE_NAME = myJythonVariable
    You'd need to insert the values of your variables in a temporary table (in the Jython script), then refresh the variable from the content of this temporary table.
    Regards,
    -FX

  • Startscen.bat ends batch script

    Dear Experts,
    ODI: 11.1.1.6.0
    OS: Windows 7
    I am having a trouble in calling startscen.bat through a batch script. I need to do pre and post works after calling the startscen.bat.
    But currently the startscen.bat ends the batch script after its triggered.
    Example
    Script
    @echo off
    set ODI_HOME=D:\app\user\product\11.1.1\Oracle_ODI_1\oracledi\agent
    ECHO "A"
    D:\app\user\product\11.1.1\Oracle_ODI_1\oracledi\agent\bin\startscen.bat LOADDYNAMICXML 001 GLOBAL 5
    ECHO "B"Expected Result
    A
    <ODI Message> (Done)/(Error)
    BBut currently the scripts ends after the startscen.bat is triggered
    A
    <ODI Message> (Done)/(Error)the script never reaches ECHO "B" line.
    Am I not doing it right? What should I do to make the startscen.bat does not end the batch script from where it is being called?
    Thanks!

    Sorry, it seems like I should have researched a bit more about Windows batch.
    I should call the startscen.bat in this manner for the process to continue:
    @echo off
    set ODI_HOME=D:\app\user\product\11.1.1\Oracle_ODI_1\oracledi\agent
    ECHO "A"
    call D:\app\user\product\11.1.1\Oracle_ODI_1\oracledi\agent\bin\startscen.bat LOADDYNAMICXML 001 GLOBAL 5
    ECHO "B"Any other inputs / comments are still welcomed.
    Thanks,
    Erico

  • Putting ODI packages into a .bat file

    Hello,
    I have multiple ODI packages and I want be able to execute these packages in a Window .bat execution. How do I call these packages say in a DOS command?
    Thanks!

    Create a scenario for each package and then you can call them by using startscen.bat that is the oracledi\bin directory.
    Syntax: startscen <Name> <Version> <Context code> [<Log_Level>] [-SESSION_NAME=<session name>] [-KEYWORDS=<keywords>] [-NAME=<agent_name>] [-v=<trace level>] [<variable>=<value>]
    e.g. startscen.bat SCENARIONAME 001 GLOBAL "-v=5" "PROJ1.VAR1=VARVALUE"
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Assigning a Jython variable value to an ODI variable

    I have to implement database cursor functionality in ODI.
    For storing the returned values from database, I am using a Jython list.
    The next functionality that I have to implement is as follows:
    (i) For each value in the Jython list, I have to pass that value as a variable to an interface and then execute the interface
    (ii) Return back to the Jython list to get the next value in it
    (iii) Execute the interface for the new value from Jython list
    (iv) Have to execute the interface for as many values as in the list and stop when list is over.

    Hi,
    Thanks for your replies.
    I tried your method of using source as a query in procedure and using ODI startScen in the Target of the same procedure. But the scenario runs only once, and then stops even though the Source query returns 4 rows.
    Do we have to write Source and Target in separate steps of the procedure?
    Does ODI store the many records returned into some internal variables?
    I need to implement a cursor functionality so what is the best approach?
    Can i pass array variable value to some odi variables and do a loop?
    I used a workaround....it works but dont know if that's a good way of doing things:
    I retrieved all the different values that I need in a string by appending the values(this was done using Java loop).
    In my next step in the procedure I call a scenario(package which has some variables and my interface), which passes this long variable from Java as <@...@>
    Then in the package I use an iteration variable which is used to find out the SubString position so that I can extract the correct string to use for my Interface in the next step of the Package.
    It is working fine as of now.....but things could be made simpler if I could call the scenario in the Java loop, then I wouldn't need the iteration variable etc.

  • Assigning long text values to ODI variable

    Hi all,
    I want to store the error message of the previous step in a variable: _<%=odiRef.getPrevStepLog("MESSAGE")%>_ (using ODI 10.1.3.5 on Oracle 9i).
    If I refresh the variable using a statement like Select '<%=odiRef.getPrevStepLog("MESSAGE")%>' From dual , it errors out if the message has more than 4K characters.
    I tried to use _<%=odiRef.getPrevStepLog("MESSAGE").substring(0,3999)%>_ , but this creates an indexoutofbounds exception if the message has less than 4K characters.
    I tried to use assign instead of refresh, but it only prints the jython code instead of retrieving the variable. How can I assign the message to a variable?
    Thanks,
    Matt

    Cezar,
    Here's the operator information. Oracle DB version is 10g EE, Rel. 10.2.0.4.0 - 64bit
    Operator - Description
    select substr('org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 23, in ?
    com.hyperion.odi.essbase.ODIEssbaseException: Cannot build dimension. Analytic Server Error(1090004): Unable To Open File [hypxx/product/essbase/AnalyticServices/app/xxx_PL/xxx_PL/ActCalce.rul]
         at com.hyperion.odi.essbase.ODIEssbaseMetaWriter.loadData(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
         at org.python.core.PyMethod.__call__(PyMethod.java)
         at org.python.core.PyObject.__call__(PyObject.java)
         at org.python.core.PyInstance.invoke(PyInstance.java)
         at org.python.pycode._pyx9.f$0(<string>:23)
         at org.python.pycode._pyx9.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyCode.call(PyCode.java)
         at org.python.core.Py.runCode(Py.java)
         at org.python.core.Py.exec(Py.java)
         at org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
         at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.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:595)
    Caused by: com.essbase.api.base.EssException: Cannot build dimension. Analytic Server Error(1090004): Unable To Open File [hypxx/product/essbase/AnalyticServices/app/xxx_PL/xxx_PL/ActCalce.rul]
         at com.essbase.server.framework.EssOrbPluginDirect.ex_olap(Unknown Source)
         at com.essbase.server.framework.EssOrbPluginDirect.essMainBuildDimension(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMainMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMethod2(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin._invokeMethod(Unknown Source)
         at com.essbase.server.framework.EssOrbPluginDirect._invokeProtected(Unknown Source)
         at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
         at com.essbase.api.session.EssOrbPlugin.essMainBuildDimension(Unknown Source)
         at com.essbase.api.datasource.EssCube.buildDimension(Unknown Source)
         at com.hyperion.odi.essbase.wrapper.EssbaseApplication.buildDimension(Unknown Source)
         ... 32 more
    com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Cannot build dimension. Analytic Server Error(1090004): Unable To Open File [hypxx/product/essbase/AnalyticServices/app/xxx_PL/xxx_PL/ActCalce.rul]
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.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:595)
    ', 1, 4000) from dual
    Operator - Execution:
    1704 : 42000 : java.sql.SQLException: ORA-01704: string literal too long
    java.sql.SQLException: ORA-01704: string literal too long
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503)
         at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:965)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1051)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2984)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3026)
         at com.sunopsis.sql.SnpsQuery.executeQuery(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlV.execStdOrders(SnpSessTaskSqlV.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlV.treatTaskTrt(SnpSessTaskSqlV.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlV.treatTask(SnpSessTaskSqlV.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:595)

  • Error while passing ODI variable in JNDI Url for JMS Queue XML

    Hi,
    Facing a weird problem while passing ODI variable in JNDI Url for JMS Queue XML.
    Below is the JNDI Url configured under ODI Topology:
    JNDI Url: t3://<host_location>?d=#TEST.SCHEMA_FILE&s=<schema_name>&JMS_DESTINATION=jms/<queue_name>
    where,
    #TEST.SCHEMA_FILE --> ODI variable storing xsd name and location
    Issue Description:
    If we restart ODI server then for the first run of any ODI interface using JMS Queue XML, it is unable to get the value for ODI variable present in JNDI Url (d=#TEST.SCHEMA_FILE).
    It throws error message saying: No XSD found
    Temporary Resolution:
    As a temporary fix if we hard-code and pass the value in that ODI variable as shown below, it will successfully go through.
    eg: JNDI Url: t3://<host_location>?d=C:\XSD\test.xsd&s=<schema_name>&JMS_DESTINATION=jms/<queue_name>
    Reverting it back to variable later will have no issues and subsequent run will succeed.
    But again anytime later if server is restarted then first run will have this issue.
    Want to have permanent fix for it.
    Any one having idea on it please share. Appreciate your help!

    What ODI version are you using? It could be related to the bug in the older version as described in support note Doc ID 1290326.1

Maybe you are looking for