IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DB2 Discussion :

[DB2 V11 for Z/OS] SQLCODE - 802 FIXED POINT OVERFLOW


Sujet :

DB2

  1. #1
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    8 399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 8 399
    Points : 30 287
    Points
    30 287
    Billets dans le blog
    2
    Par défaut [DB2 V11 for Z/OS] SQLCODE - 802 FIXED POINT OVERFLOW
    Bonjour,

    Sur DB2 V11 for Z/OS, j'utilisais jusqu'à récemment la requête suivante pour surveiller le cluster ratio de certains espaces, ma requête tournait sans problème :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    set schema = SYSIBM ;
     
     
    -- analyse du cluster ratio des index cluster                      
       select substr(TB.CREATOR, 01, 08)   as SCHEMA                   
            , substr(TB.NAME, 01, 08)      as TABLE                    
            , substr(IX.NAME, 01, 10)      as INDEX                    
            , IX.UNIQUERULE                as UNIQ                     
            , IX.CLUSTERING                as CLSG                     
            , IX.CLUSTERED                 as CLSD                     
            , IX.CLUSTERRATIO              as RATIO                    
            , TB.CARDF                     as CARDF                    
            , TB.NPAGESF                   as NPAGESF                  
            , subq.RGISR                   as REORGINSERTS             
            , subq.RGDEL                   as REORGDELETES             
            , subq.RGUPD                   as REORGUPDATES             
       from       SYSTABLES      as TB                                 
       inner join SYSTABLESPACE  as TS                                 
          on TS.DBID = TB.DBID                                         
         and TS.NAME = TB.TSNAME                                       
       inner join SYSINDEXES     as IX                                 
          on IX.TBCREATOR = TB.CREATOR                                 
         and IX.TBNAME    = TB.NAME                                    
       inner join                                                      
            (select DBID                                                      
                  , PSID                                                      
                  , cast(sum(REORGINSERTS) as bigint) as RGISR                                
                  , cast(sum(REORGDELETES) as bigint) as RGDEL                                
                  , cast(sum(REORGUPDATES) as bigint) as RGUPD                                
             from SYSTABLESPACESTATS                                          
             group by DBID                                                    
                 , PSID) subq                                                 
          on subq.DBID = TB.DBID                                              
         and subq.PSID = TS.PSID                                              
       where IX.CLUSTERING = 'Y'            -- index cluster                  
         and IX.CLUSTERED  = 'N'            -- mal organisé                   
         and TB.CREATOR = 'XXXX'                                              
         and TB.TYPE       = 'T'            -- type table                     
         and (TB.CARDF = -1 or TB.CARDF >0) -- sauf tables vides     
         and TB.NAME like 'YYYY%'

    Mais ,désormais j'obtiens le message d'erreur

    ExampleExceptionFormatter: exception message was: DB2 SQL Error: SQLCODE=-802, SQLSTATE=22003, SQLERRMC=FIXED POINT OVERFLOW;COLUMN FUNCTION;INTEGER, DRIVER=3.69.24

    Chose étrange : la requête principale seule s'exécute sans problème, la requête imbriquée seule également, seule la requête complète provoque l'erreur.
    J'ai ajouté le cast en bigint (absent au départ) dans la requête corrélée pour essayer de corriger le problème, mais sans succès.

    Une idée ?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    21 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 21 143
    Points : 50 169
    Points
    50 169
    Billets dans le blog
    1
    Par défaut
    Il faudrait plutôt contretyper en décimal.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    8 399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 8 399
    Points : 30 287
    Points
    30 287
    Billets dans le blog
    2
    Par défaut
    Ca ne change rien, mais sans surprise puisqu'encore une fois, la requête corrélée seule, avec ou sans transtypage, fonctionne parfaitement.
    Idem pour la requête principale.
    Seule la requête complète pose souci

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    8 399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 8 399
    Points : 30 287
    Points
    30 287
    Billets dans le blog
    2
    Par défaut
    J'ai avancé sur le sujet :

    Je n'avais pas vu que l'interface limitait par défaut le nombre de lignes ramenées, ce faisant, tester la requete principale et la requête imbriquées isolément ne porte pas obligatoirement sur le même jeu de données.

    Du coup, j'ai pu constater que les colonnes faisant l'objet de la somme pouvaient être marquées "null"

    J'ai donc remplacé

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      sum(REORGINSERTS) as RGISR                               
    , sum

    par

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      sum(cast(coalesce(REORGINSERTS, 0) as bigint)) as RGISR
    , sum

    Et là plus d'erreur

    Du coup je passe à résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion nombre vers virgule fixe (8.8 fixed point)
    Par Gpapig dans le forum Général Python
    Réponses: 2
    Dernier message: 24/06/2018, 17h10
  2. Charger du contenu XML avec DB2 V10 For Z/Os
    Par Macfurp dans le forum DB2
    Réponses: 0
    Dernier message: 10/02/2015, 18h56
  3. Réponses: 1
    Dernier message: 27/02/2014, 18h24
  4. Position fixed et overflow
    Par kriekbellevue dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 03/04/2013, 12h36
  5. DB2 10 for z/OS Beta
    Par Luc Orient dans le forum DB2
    Réponses: 4
    Dernier message: 05/05/2010, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo