Uniface User Forum

 View Only
  • 1.  9020 - Data fetch error

    Posted 08-26-2024 06:07
    Good morning, Error 9020 - Data fetch error has been occurring at one of our clients since the client performed, completely independently, an Oracle version upgrade from Oracle Database 10g Release 10.2.0.5.0 - 64bit Production to Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production.
    A client 11.2, a U7 driver with Uniface 9.7 is used.
    The tables on which the error occurs have a field of type timestamp(6) in the key, and specifically the error occurs when microseconds are valued at zero.
    I would like to find, if possible, an application solution since telling the client to make changes to the db configuration is impossible.
     
    Could you give me some suggestions?
    Thank you 
    Anna Lisa Coppola
     

    Of the two records extracted on sqldeveloper, Uniface extracts only one


    ------------------------------
    Anna lisa Coppola
    Developper
    Dedalus Spa
    ------------------------------


  • 2.  RE: 9020 - Data fetch error

    Posted 08-26-2024 06:31
    Edited by Gianni Sandigliano 08-26-2024 06:32

    Ciao Annalisa,

    I would check Uniface driver version first:

    in your post you mentioned U7 driver but based on PAM there are 4 different U7 driver versions (U7.0, U7.1, U7.2, U7.3). The one correct for Oracle 12.2 depends from version R1 or R2 of Oracle 12. My guess is the right one for you should be U7.2 based on the fact you mentioned 64bit.

    Second: you can do a small test having a "Load definition" from that Oracle table into a temporary Uniface application model to see how Uniface do by itself against that table; building a quick form you can check if the problem is still there.

    Let us know if your problem is solved and which was the solution.

    Kind regards,
    Gianni

    P.S. I have worked on Ora 12.2...R2 up to two months ago...now we are on Ora 19c...



    ------------------------------
    Gianni Sandigliano
    IT
    ------------------------------



  • 3.  RE: 9020 - Data fetch error

    Posted 08-27-2024 04:44

    Hi Anna

    Which packing code are you using for the field in UnifAce?
    And I did a quick look into the Uniface documentation about "Oracle Data Packing"
    All date related fields are map to "date", no one of them to "timestamp"
    @Gianni: is "date" the same as "timestamp" in Orcale?  
     [we only use MS products ("politically motivated") :-( ]

    And as Gianni already wrote, try a reverse engineering, i.e. load the definitions from the ORACLE-table into a dummy model 

    Ingo



    ------------------------------
    Ingo Stiller
    Aareon Deutschland GmbH
    ------------------------------



  • 4.  RE: 9020 - Data fetch error

    Posted 08-27-2024 06:44
    Edited by Gianni Sandigliano 08-27-2024 06:47

    Ciao Annalisa & Ingo,

    Following Ingo question I've made a quick test... :-)

    Oracle has two basic Data Types in this scenario:
    - Date
    - Timestamp

    Any Oracle Date can contain either a date, a time or a datetime; Uniface is filling the missing part when needed.
    Oracle Timestamp can contain a datetime with larger precision at ticks level.

    Uniface packing support:
    - Data Type: Date           Packing codes: D, D1-13 => Oracle Date
    - Data Type: Datetime Packing codes: E, E1-E11 => Oracle Date
    - Data Type: Time          Packing codes: T, T1-T4 => Oracle Date
    - Data Type: Datetime Packing codes: E12 => Oracle Timestamp(6)
    - Data Type: Datetime Packing codes: E13 => Oracle Timestamp(7)
    - Data Type: Time          Packing codes: T5 => Oracle Timestamp(8)
    - Data Type: Time          Packing codes: T6 => Oracle Timestamp(9)
    - Data Type: Time          Packing codes: T7 => Oracle CLOB

    Uniface documentation is NOT fully updated!!!

    @Annalisa: you have 4 possible choices with an Oracle timestamp... my guess for your case is for one of these two:
    - Data Type: Datetime Packing codes: E12 => Oracle Timestamp(6)
    - Data Type: Datetime Packing codes: E13 => Oracle Timestamp(7)
    Remember Uniface $datim on Windows is limited to 2 digits with ticks but if I remember well is more precise on other platforms.

    Hope this helps...

    Gianni



    ------------------------------
    Gianni Sandigliano
    IT
    ------------------------------



  • 5.  RE: 9020 - Data fetch error

    Posted 08-27-2024 08:21
    Hi Ingo, I am using as packing code E12 and I looked at the Uniface documentation for "Oracle Data Packing".
     
    I also ran the reverse engineering test suggested by Gianni but the problem persists.
     
    I think I have identified the reason that creates the problem I have submitted.
    The server on which Uniface is installed has a Windows Server 2008 R2 Standard operating system; 
    the db is on Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production;
    the client is 11.2.0.1.0 and the driver used is 7.0.
    I remember that previously the db was on Oracle Database 10g Release 10.2.0.5.0 - 64bit Production and everything worked properly.
     
    At our other customers the problem does not occur and the only thing that differs is the operating system. Where present Windows Server 2012 R2 and all other elements the same, the problem is not there.  
     
    Thank you for your help.
    Anna Lisa
     


    ------------------------------
    Anna lisa Coppola
    Developper
    Dedalus Spa
    ------------------------------



  • 6.  RE: 9020 - Data fetch error

    Posted 08-27-2024 10:14

    Hi Anna

    Very strange:-)
    But glad you found a solution 

    Ingo



    ------------------------------
    Ingo Stiller
    Aareon Deutschland GmbH
    ------------------------------