Page 1 sur 1

[Résolu] Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 15 Mai 2019 18:51
par plonge
Bonsoir à toutes et à tous,
Je prends un peu de temps pour vous livrer deux fichiers Base, concernant 1 table avec différents formats de dates.
Voici mon test :
Le 1er fichier est fait avec HSQLDB avec les formats suivants :
Champ Date1 format 31/12/1999 description JJ/MM/AAAA
Champ Date2 format 31 déc.99 description J MMM AA (noter que le point disparaît dans la description)
Champ Date3 format 31.déc.1999 description J.MMM AAAA (noter que le 2éme point disparaît dans la description)
Champ Date4 format 1999-12-31 description AAAA-MM-JJ (ceci est un format ISO 8601 (EN28601))
Les dates 1-3 et 4 sont les seuls formats préconisés ici par FIREBIRD. J'ai pris en plus le format de Date2 proche de Date3 à tout hasard.
Procédons maintenant à la conversion de la base vers Firebird en respectant la préconisation de LibreOffice. Après cette conversion, on ouvre le 2éme fichier et la table sous Firebird et là! Surprise pas une seule date ne correspond à la table HSQLDB. Voir image ci-dessous.
Je ne conseillerai que trop de convertir la base sans les tables et de les copier à part, car bizarrement les dates de HSQLDB (tous formats) continuent à fonctionner sous Firebird, mais la copie d'une table échoue lorsqu'elle est copiée avec une macro utilisant la commande "com.sun.star.sdb.application.CopyTableWizard.create()".
Noter que les heures minutes secondes subissent les mêmes problèmes que les dates.
Que faut-il penser de ce type de conversion, j'aimerais votre avis, et voyez vous une solution simple et fiable de transfert de tables existantes contenant divers formats de dates et d'heures HSQLDB vers Firebird.
Cordialement
plonge

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 16 Mai 2019 14:15
par jeanmimi
Bonjour,
Je fais le même constat, sans utiliser de Macro, si je fais la conversion de la Table en Firebird à l'ouverture de la boite de dialogue : j'ai bien un décalage de 1 jour sur les données saisies.

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 16 Mai 2019 16:07
par plonge
Bonjour jeanmimi,
Merci de me confirmer l'anomalie, j'ai convertie une grosse base de donnée avec environ 4000 lignes de macro et les dates/heures qui ne fonctionne pas sont un détail comparés aux macros lorsqu'il faut reprendre et adapter les requêtes et dans les macros les nulls, les rows, concat, select etc.… En clair il faut vérifier chaque module, une vrai partie de plaisir. :lol:
Peut être que la version 4 de Firebird sera plus adapté! Elle est déjà disponible en test ici.

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 16 Mai 2019 18:17
par Piaf
Bonjour
Je ne reproduis pas sous Linux
dteHSQL.png
table HSQL
dteFB.gif
Conversion Cliquer pour l'animation
A+

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 16 Mai 2019 19:54
par plonge
Bonsoir Piaf,
Effectivement, le problème viendrait il du couple LO/Windows ?
A creuser.

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 21 Août 2019 09:40
par jdhogue
Bonjour,

Non, ce n'est pas un problème spécifique à Windows. J'ai eu le même problème de décalage d'un jour et je suis sous LMDE3.

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 21 Août 2019 13:01
par jeanmimi
Le tutoriel en ligne reprend l'anomalie en l'expliquant avec les heures d'été et les heures d'hiver.
https://wiki.documentfoundation.org/Doc ... FromHSQLDB

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 21 Août 2019 16:31
par jf.l
Bonjour plonge
Il est possible que ce soit lié au choix de la date de départ, puisqu'une date est définie par le nombre de tic-tacs depuis un point zéro arbitraire. Changer de date de départ décale tous les champs date en conséquence.
date.png

Je sais que c'est un réglage Calc et qu'on parle de Base, mais comme la différence est d'une journée tout rond... Et le format starcalc est si obsolète que le cas n'a peut-être pas été envisagé.
Cordialement,
JF

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 21 Août 2019 16:54
par plonge
Bonsoir,

jeanmimi
Merci pour le lien , je ne l'avais pas vu. Il fallait le trouver ce bogue H d'été/d'hiver :lol: Pas vraiment pratique s'il faut convertir toutes ces dates en texte et les repasser en dates pour faire des calcul dessus! Ou bien travailler avec base 6 mois sur 12 :lol:
Décidemment je ne suis vraiment pas pressé de migrer tout sous firebird. Mes derniers essais ne sont toujours pas satisfaisants.

jf.l
Pourquoi pense tu que les dates de Calc peuvent avoir une influence sur le sgdb HSQLDB de base :?: Je vois pas!

Cordialement

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 22 Août 2019 10:14
par jf.l
Bonjour plonge
J'ai cru lire que *toutes* les dates importées étaient décalées.
J'ai encore le souvenir d'interventions sur des fichiers calc dont les dates ne sont plus exactes quand le fichier est ouvert sur un autre poste.
Le décalage heure d'été/d'hiver explique mal les changements de date, sauf autour de minuit (je sais, c'est trois heures du matin en France donc...).
Cordialement,
JF

Re: Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 22 Août 2019 13:18
par jeanmimi
plonge a écrit:Mes derniers essais ne sont toujours pas satisfaisants.

Chaque nouvelle version de LO, et au fur et à mesure qu'ils sont signalés par les migrants, corrige les bogues :
https://bugs.documentfoundation.org/bogue ... ordssubstr

Conversion dates HSQLDB vers FIREBIRD

MessagePublié: 22 Août 2019 17:40
par plonge
Bonsoir,

jf.l
Mes dates ne sont pas importé de Calc, mais créées dans Base. Donc je ne vois toujours pas l'influence de Calc :!:

jeanmimi
C'est bien pour cela que j'attend les nouvelles versions :lol: Je charge en ce moment LO 626, je vais refaire un essai.

Cordialement

Ajout les derniers tests effectués n'étant toujours pas satisfaisants, je clos ce fil et en ouvrirais un si autre si nécessaire