Inscrivez-vous à la newsletter

Inscrivez-vous à la newsletter

Abonnez-vous maintenant et nous vous tiendrons au courant.
Nous respectons votre vie privée. Vous pouvez vous désabonner à tout moment.

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

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 réflexions sur “Oracle Warehouse Builder (OWB): MDL1261- Erreur d'importation”

  1. Hafedh KADDACHI DBA Oracle

    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

    1. 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
      )

  2. 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

    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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *