Sauter au contenu

Oracle Warehouse Builder (OWB): MDL1261- Erreur d’importation

25 février 2010

Quelle ne fût pas ma surprise lorsque du jour au lendemain, l’erreur “MDL1261: Error importing …” m’est apparue alors que je tentais d’importer un mapping OWB. Tâche que je fais quand même régulièrement !

Entre ma dernière importation et celle-ci, on avait mis à jour la version OWB en 11.1.0.7, version qui créé dans OWB une nouvelle propriété SAP_FTP dont le type de données est erroné (bug 7634123 MDL IMPORT FAILS WITH MDL1261, répertorié).

Pour résoudre le problème, voici comment il faut faire…

Avec l’upgrade, le type de données de la propriété est initialisé à 113 au lieu de 10007 et implique un “NullPointerException” du fait de l’inexistence de ce type de données. La valeur du type de données de SAP_FTP doit être la même que pour la propriété BACKGROUND.

Pour vérifier la valeur, utilisez la requête:

select datatype from propertydefinition_v where name = 'SAP_FTP';

Pour modifier la valeur, utilisez la requête:

update propertydefinition_v
 set datatype = (select datatype from propertydefinition_v where name = 'BACKGROUND')
where name = 'SAP_FTP';

N’oubliez pas de valider (commit) et réessayez votre importation.

7 Commentaires laisser un →
  1. Hafedh KADDACHI DBA Oracle permalien
    2 mars 2010 15:37

    Bonjour,
    j’ai une question qui n’a rien n’avoir avec le sujet en cours (désolé ):
    comment voir les erreurs d’insertion ou mise à jour lors de l’execution des mappings.
    Les erreurs : les enregistrements non insérés
    merci

  2. arvimama permalien
    2 mars 2010 16:16

    Chaque tâche effectuée par OWB (déploiement, execution) est tracée dans les tables référentielles. Il faut utiliser les tables WB_RT_AUDIT_EXECUTIONS , WB_RT_AUDIT_MESSAGES et WB_RT_AUDIT_MESSAGE_LINES pour retrouver les informations manquantes.
    En 10G, se logger directement dans le schéma référentiel (ex: owb_owner) et en 11G dans OWBSYS.
    Je vous laisse étudier cette requête qui me semble appropriée à votre demande:
    select a.AUDIT_EXECUTION_ID, a.TASK_NAME, a.EXECUTION_OBJECT_NAME, b.NUMBER_OF_LINES, b.CREATION_DATE, c.PLAIN_TEXT
    from WB_RT_AUDIT_EXECUTIONS a,
    WB_RT_AUDIT_MESSAGES b,
    WB_RT_AUDIT_MESSAGE_LINES c
    where a.AUDIT_EXECUTION_ID = b.AUDIT_EXECUTION_ID
    and b.AUDIT_MESSAGE_ID = c.AUDIT_MESSAGE_ID
    and a.EXECUTION_OBJECT_NAME like ‘%MAP_%’
    order by 1, 2, 3

  3. Hafedh KADDACHI DBA Oracle permalien
    3 mars 2010 17:29

    Merci pour ces infos.
    Mais en fait ce que je cherche : c’est plutôt avoir les enregistrements qui on échoué.
    Par exemple : on veut insérer des enregist dans la table T (c1, c2, c3)
    et on obtient l’erreur suivante : ORA-00001: unique constraint (DTMART.PK_T) violated
    ce que je cherche c’est d’avoir la liste des valeurs des colonnes (c1, c2, c3) qu’on a essayées d’insérer et qui ont provoqué ora-00001

    merci

    • 4 mars 2010 21:25

      bonjour,
      Je travaille depuis 2 ans sur OWB 10g et j’ai écrit pas mal de requête pour contrôler l’activité d’owb.
      Voici une de ces requête qui te permettra de retrouver toutes les lignes rejetées avec le message d’erreur correspondant.

      SELECT
      SOURCE_COLUMN,
      SOURCE_COLUMN_VALUE,
      RUN_ERROR_MESSAGE
      FROM RAB_RT_EXEC_ACT_RUN_ERRORS A
      JOIN RAB_RT_EXEC_ERROR_SOURCES B
      ON A.RUN_ERROR_ID=B.RUN_ERROR_ID
      WHERE MAP_RUN_ID in
      (
      SELECT MAP_RUN_ID
      FROM
      (
      SELECT
      DISTINCT a.MAP_RUN_ID
      FROM RAB_RT_EXEC_ACT_RUN_ERRORS a
      JOIN RAB_RT_EXEC_ACTIVITY_RUNS b
      ON A.MAP_RUN_ID=b.MAP_RUN_ID
      where RUN_STATUS=2 and MAP_STEP0
      and trunc(START_TIME) >=’dd/mm/yyyy’ — mettre la table que tu souhaites
      ) B
      )

      • arvimama permalien
        8 mars 2010 13:17

        Merci beaucoup pour cet échange et cette requête.

  4. 4 mars 2010 21:28

    Attention: le champ MAP_STEP dans la 2ème sous requête doit être !=0 (différent de 0)

  5. Hafedh KADDACHI DBA Oracle permalien
    8 mars 2010 13:08

    Excellent,
    ça marche bien

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Twitter picture

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Connexion à %s

Suivre

Get every new post delivered to your Inbox.

Joignez-vous à 385 followers