2017-03-14 1 views
0

J'utilise Pentaho pour DATAMASK certaines des informations sur l'oracle DBPentaho avec masquage de données Oracle - problème Timestamp

J'ai plusieurs transformations de la forme: SELECT -> masque de données -> lignes UPDATE sur la base clé primaire

J'ai des tables où un horodatage fait partie de la clé primaire dans l'étape de mise à jour. Même si je ne masque pas ou ne mets pas à jour ce champ de quelque manière que ce soit, j'obtiens l'erreur ORA-01843: mois non valide lors de la mise à jour. Je crois que c'est parce que lorsque Pentaho prend l'horodatage de l'étape 1, il ne le conserve pas comme horodatage tant que je n'ai pas essayé la mise à jour et donc la vérification de clé primaire. Exceller sortie, je vois Pentaho donner horodatages au format

2014-07-30 15: 44: 31,869033 Europe/Londres (Pentaho)

Mais dans le format DB est

30-janv. 15 09.21.38.109145000 AM (Oracle - TIMESTAMP (6) AVEC FUSEAU HORAIRE LOCAL)

J'ai essayé de convertir le champ pentaho en Timestamp (format: aaaa-MM-jj HH: mm: ss.SSSSSS) avant le mettre à jour l'étape mais recevoir des erreurs si j'essaie d'utiliser des millisecondes.

2017/03/14 13:19:25 - Sélection de valeurs.0 - AUDIT_CREATE_TS Horodatage: impossible de convertir la chaîne [2015-01-30 09: 21: 38.109145 Europe/London] en un horodatage, en espérant un format [ aaaa-mm-jj hh: mm: ss.ffffff]

2017/03/14 13:19:25 - Sélectionnez values.0 - Le format de l'horodatage doit être aaaa-mm-jj hh: mm: ss [.fffffffff Si je remplace mon formatage par celui proposé par Pentaho, j'obtiens le caractère "Illégal" et je suis coincé dans une boucle.

Ignorant millisecondes semble réussir, mais ne me donnent aucun match car il ne suffit pas précis et renvoie aucun résultat de db ..

Toute aide serait appréciée!

Répondre

0

ne suis pas sûr Pentaho, mais si vous êtes à la recherche d'une conversion de cette chaîne:

'2015-01-30 09:21:38.109145 Europe/London' 

à un horodatage avec fuseau horaire dans Oracle, il serait:

select to_timestamp_tz('2015-01-30 09:21:38.109145 Europe/London', 'YYYY-MM-DD HH24:MI:SS.FF6 TZR') from dual; 

Voir Oracle Datetime Format Models document pour plus.