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”
Excellent,
ça marche bien
Attention: le champ MAP_STEP dans la 2ème sous requête doit être !=0 (différent de 0)
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
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
)
Merci beaucoup pour cet échange et cette requête.
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
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
Les commentaires sont fermés.