Clarity

Expand all | Collapse all

XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

  • 1.  XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

    Posted Mar 15, 2012 05:53 AM
    Hi,
    i'm trying to read transactions in clarity using imp_transactions_read.xml file in V13 release, when executed i get this error message : [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861: literal does not match format string
    how wan i resolve this problem?
    Thank you !


  • 2.  RE: XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

    Posted Mar 15, 2012 06:25 AM
    Hi

    Look at the Oracle Error Code and the cause, You should be able to figure it out.

    In the transaction read xml , what is the Query you are using to XOG Transaction date and what have you provided there ?

    Regards

    Venky


  • 3.  RE: XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

    Posted Mar 15, 2012 06:30 AM
    There is a trick with the date format that XOG accepts,

    this is what I posted on here before;
    I've always used;
    YYYY-MM-DDTHH:MI:SS

    OK. (the "T" was important I think)

    i.e. "2010-11-01T17:08:23" for right now (UK time)

    But have a look at the thread for a couple of other comments; Setting a Date value in XOG in GEL?


  • 4.  RE: XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

    Posted Mar 15, 2012 06:41 AM
    thank you for your responses

    In my xml file, i want to view all transactions, so i did not use any filter.
    here is my file content:

    <?xml version="1.0" encoding="UTF-8"?>
    <NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">

    <Header version="13.0.0.7032" action="read" objectType="transaction" externalSource="NIKU"/>

    <Query>


    <!--Filter name="clientID" criteria="EQUALS">upgrade</Filter>


    <Filter name="projectID" criteria="EQUALS">SQL SERVER PROJ ID</Filter>


    <Filter name="transactionType" criteria="EQUALS">M</Filter-->


    <!--Filter name="transactionDate" criteria="AFTER">2001-02-01</Filter-->

    </Query>
    </NikuDataBus>


  • 5.  RE: XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

    Posted Mar 15, 2012 07:16 AM
    Hi

    Provide atleast one Filter criteria.
    As Dave mentioned please try with the Transaction Date filter, this should resolve your issue

    Thanks

    Venky


  • 6.  RE: XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

    Posted Mar 15, 2012 09:39 AM
    HI,
    I tried to keep a filetr ( date filter) but i still have the same problem, here is the complete error message

    <?xml version="1.0" encoding="UTF-8"?><NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_transaction.xsd">
    <Header action="write" externalSource="NIKU" objectType="transaction" version="13.0.0.7032"/>
    <Transactions/>
    <XOGOutput>
    <Object type="transaction"/>
    <Status state="FAILURE"/>
    <Statistics failureRecords="0" insertedRecords="0" totalNumberOfRecords="0" updatedRecords="0"/>
    <Records>
    <Record>
    <KeyInformation>
    <column name="transno"/>
    <column name="project_code"/>
    <column name="company_code"/>
    </KeyInformation>
    <ErrorInformation>
    <Severity>FATAL</Severity>
    <Description>Wip Transaction Object read failed</Description>
    <Exception><![CDATA[
    java.sql.SQLException: [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861: literal does not match format string



    at com.ca.clarity.jdbc.oraclebase.ddb7.b(Unknown Source)

    at com.ca.clarity.jdbc.oraclebase.ddb7.a(Unknown Source)

    at com.ca.clarity.jdbc.oraclebase.ddb6.b(Unknown Source)

    at com.ca.clarity.jdbc.oraclebase.ddb6.a(Unknown Source)

    at com.ca.clarity.jdbc.oracle.ddk.p(Unknown Source)

    at com.ca.clarity.jdbc.oraclebase.ddej.v(Unknown Source)

    at com.ca.clarity.jdbc.oraclebase.ddej.r(Unknown Source)

    at com.ca.clarity.jdbc.oraclebase.dddc.execute(Unknown Source)

    at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:68)

    at org.logicalcobwebs.cglib.proxy.Proxy$ProxyImpl$$EnhancerByCGLIB$$9c882379.execute(<generated>)

    at com.niku.union.persistence.jdbc.SQLTracePreparedStatement.execute(SQLTracePreparedStatement.java:100)

    at com.niku.union.persistence.PersistenceController.processSql(PersistenceController.java:2585)

    at com.niku.union.persistence.PersistenceController.processStatement(PersistenceController.java:851)

    at com.niku.union.persistence.PersistenceController.processStatements(PersistenceController.java:751)

    at com.niku.union.persistence.PersistenceController.doProcessRequest(PersistenceController.java:559)

    at com.niku.union.persistence.PersistenceController.processRequest(PersistenceController.java:289)

    at com.niku.xql2.pmd.PMDRecordSet.executePMDStatement(PMDRecordSet.java:260)

    at com.niku.xql2.pmd.PMDRecordSet.<init>(PMDRecordSet.java:85)

    at com.niku.xql2.pmd.PMDDataSource.select(PMDDataSource.java:93)

    at com.niku.xql2.XQLVisitor.getObjectSet(XQLVisitor.java:828)

    at com.niku.xql2.XQLVisitor.getField(XQLVisitor.java:1370)

    at com.niku.xql2.eval.XQLPropertyNode.eval(XQLPropertyNode.java:92)

    at com.niku.xql2.eval.XQLEvaluator.parse(XQLEvaluator.java:40)

    at com.niku.xql2.XQLVisitor.eval(XQLVisitor.java:1045)

    at com.niku.xql2.XQLVisitor.eval(XQLVisitor.java:1019)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:67)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1341)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.TryHandler.preProcess(TryHandler.java:50)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1341)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:161)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:91)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1341)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)

    at com.niku.xog.service.XOGXBLHandler.processXBL(XOGXBLHandler.java:248)

    at com.niku.xog.service.XOGXBLHandler.process(XOGXBLHandler.java:154)

    at com.niku.xog.service.ObjectHandler.processRequest(ObjectHandler.java:191)

    at com.niku.xog.service.ObjectHandler.process(ObjectHandler.java:99)

    at com.niku.xog.service.XOGDispatch.processMessage(XOGDispatch.java:113)

    at com.niku.xog.service.XOGSOAPServlet.processMessage(XOGSOAPServlet.java:302)

    at com.niku.xog.service.XOGSOAPServlet.doPost(XOGSOAPServlet.java:91)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    at com.niku.union.web.filter.CharsetFilter.doFilter(CharsetFilter.java:56)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

    at java.lang.Thread.run(Thread.java:662)
    ]]></Exception>
    </ErrorInformation>
    </Record>
    </Records>
    </XOGOutput>
    </NikuDataBus>


  • 7.  RE: XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

    Posted Mar 15, 2012 11:18 AM
    The xml seems to basically correct and I did not need any filters when reading from my V13.
    For the read there is no need to change the version from what is in the xml sample (6.0.11) because it is lower than the actual.
    If you do 13.0 would be adequate.

    If you had searched for the error you would have seen when others have received and what format they have used
    error when xoging TimePeriod
    10046117
    Problem with Post to Wip job after upgrading to V12
    2293855
    Error with Power Filter
    20906738

    Could it be that there is something in the transactions.
    If you don't have many you could try to read them in batches using other than the date filter to see if you can identiy a or more transactions that give problems.

    Martti K.


  • 8.  RE: XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

    Posted Mar 16, 2012 05:18 AM
    Hi Ludo,

    I suspect a configuration issue where the NLS settings in the Oracle session used by Clarity don't have the date format set to 'yyyy-mm-dd hh24:mi:ss' (even if this has been set in the configuration somewhere, it is a multi-layered configuration and may change from the DB settings to the instance and then the session ones). It is the majority cause for this problem happening.

    Could you please create a Studio: Query with the following NSQL:
    SELECT @SELECT:DIM:USER_DEF:IMPLIED:NLS:pkey:pkey@,
           @SELECT:DIM_PROP:USER_DEF:IMPLIED:NLS:PARAMETER:PARAMETER@,
           @SELECT:DIM_PROP:USER_DEF:IMPLIED:NLS:VALUE:VALUE@
    FROM
    (Select 'nls_database_parameters' || rownum as pkey, x.*
    from nls_database_parameters x
    where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET', 'NLS_RDBMS_VERSION', 
      'NLS_DATE_FORMAT', 'NLS_SORT', 'NLS_COMP')
    union
    Select 'nls_session_parameters' || rownum as pkey, y.*
    from nls_session_parameters y
    where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET', 'NLS_RDBMS_VERSION', 
      'NLS_DATE_FORMAT', 'NLS_SORT', 'NLS_COMP')
    union
    Select 'nls_instance_parameters' || rownum as pkey, z.*
    from nls_instance_parameters z
    where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET', 'NLS_RDBMS_VERSION', 
      'NLS_DATE_FORMAT', 'NLS_SORT', 'NLS_COMP')
    ) nls_union
    WHERE @FILTER@
    Edit: the 'pacman' smiley faces showing on the forums are the characters ':' followed by 'V' -- sorry about that, was unexpected for smileys to appear in a code block.

    Then create a grid portlet, include all the columns, and display this temporarily (like putting it on your Overview page) to get the results?

    Please also get the following query run on the database directly and provide that too:
    select value, display_value, isdefault
    from v$parameter where name = 'nls_date_format';
    Thanks.


  • 9.  RE: XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861

    Posted Apr 11, 2012 10:14 AM
    Hi nick,
    thank you for your reply and sorry i have just seen your response,

    I executed the query and i had the result below:

    nls_database_parameters1
    NLS_LANGUAGE
    FRENCH
    nls_database_parameters2
    NLS_TERRITORY
    FRANCE
    nls_database_parameters3
    NLS_CHARACTERSET
    WE8MSWIN1252
    nls_database_parameters4
    NLS_DATE_FORMAT
    DD/MM/RR
    nls_database_parameters5
    NLS_SORT
    FRENCH
    nls_database_parameters6
    NLS_COMP
    BINARY
    nls_database_parameters7
    NLS_RDBMS_VERSION
    11.2.0.2.0
    nls_instance_parameters1
    NLS_LANGUAGE
    FRENCH
    nls_instance_parameters2
    NLS_TERRITORY
    FRANCE
    nls_instance_parameters3
    NLS_SORT
    (null)
    nls_instance_parameters4
    NLS_DATE_FORMAT
    (null)
    nls_instance_parameters5
    NLS_COMP
    BINARY
    nls_session_parameters1
    NLS_LANGUAGE
    FRENCH
    nls_session_parameters2
    NLS_TERRITORY
    FRANCE
    nls_session_parameters3
    NLS_DATE_FORMAT
    DD/MM/RR
    nls_session_parameters4
    NLS_SORT
    FRENCH
    nls_session_parameters5
    NLS_COMP
    BINARY


    I think that may be the date format in the DB is the problem.?

    Thanks !


  • 10.  RE: XOG error message [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01861
    Best Answer

    Posted Apr 12, 2012 05:25 AM
    Hi Ludo,

    Yes, for your immediate errors, the NLS_DATE_FORMAT is certainly at issue here. The 'session' responses are OK if they do not match the exact requirements, because some of these are altered by Clarity on the fly (at the temporary session level) in order to serve results back to users according to their settings in Clarity for language and locale.

    However, there are many core queries and interactions with the database that happen at a level before the individual user's preferences get applied, and in those instances it will struggle to handle settings that may change from one server/configuration to the next.

    You can check the init.ora to see how the setting is there, but also in my post there was a second query to check the contents of the v$parameter system view. If the value needs changing there too, the configuration in the init.ora may not be sufficient and it has to be resolved through Oracle's configuration management or a DBA query such as the following:

    alter system set nls_date_format = 'yyyy-mm-dd hh24:mi:ss' scope=spfile;

    Oracle needs restarting after any init.ora or spfile scope changes for that to take effect. scope=memory or scope=both can be used for some parameters so that they take immediate effect without restarting, but if this isn't possible Oracle will raise an error when running the query and then there will be no alternative except to use scope=spfile and to restart Oracle.

    With the settings you have shown I would expect you to encounter some other problems further down the line and would recommend some other changes too.

    First is NLS_SORT which should be set to NLS_SORT=BINARY.

    Again, when Clarity is performing a sort that needs to be language-sensitive (French) it will apply that to the user's session, but there are other times when a natural non-language specific sort is the correct approach, and in those cases Clarity will be expecting results to be provided in BINARY order. This setting can also affect the performance of database indexes when used in sorting, since your indexes will not be stored with NLS_SORT=FRENCH considerations and yet a number of queries will run and be subjected to this rule.

    Lastly, there are other areas in the application where you can encounter number format errors and issues due to the NLS_TERRITORY value. An exact place I have seen this can happen is during the installation of Clarity, but there can be other places too.

    The issue can be demonstrated by the following script that temporarily changes the value and shows the impact it will have on queries that it tries to run:
    -- this is just a temporary change for the logged
    -- in connection and session, it will not persist
    -- after logout, it is just to demonstrate
    alter session set nls_territory='america';
    
    create table n(f number);
    
    insert into n(f) values ('8.0');
    
    -- or nls_territory='france' or any other
    -- where the number format is expected
    -- to be different for decimal identification
    alter session set nls_territory='sweden';
    
    -- this will now cause ORA-01722: invalid number
    -- even though it worked before with the other nls_territory
    insert into n(f) values ('8.0');
    
    -- this is the format it expects now
    insert into n(f) values ('8,0');
    
    rollback;
    
    -- only run the following statement when you're 
    -- comfortable to do so in case table 'n' already
    -- existed for another purpose in the DB before
    -- this script ran
    -- drop table n;
    Even if there are no problems right now and you decide not to change this, when it does occur this will be the reason why.

    Thanks,
    -Nick

    P.s. These considerations above aren't GEL/XOG/WSDL specific and can occur elsewhere in the system, but may take time to surface.


  • 11.  Moving XOG/GEL/WSDL Board

     
    Posted Apr 11, 2012 01:20 PM
    Moving XOG/GEL/WSDL Board