[Résolu] Migration base interne HSQLDB vers FIREBIRD

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.

[Résolu] Migration base interne HSQLDB vers FIREBIRD

Messagepar wormsf » 11 Jan 2019 16:43

Bonjour
Tout d'abord bonne année 2019 à tous les défenseurs du logiciel libre

j'ai développé depuis près de 10 ans petit à petit une base de donnée sous libreoffice pour la gestion d'une association
j'utilise actuellement la version 6.0.7 de libreoffice
j'ai chargé la version 6.1 et me suis aperçu à ma grande surprise qu'il proposait de migrer vers Firebird
et dans quelques articles, il me semble avoir compris qu'à terme HSQL serait abandonné au profit de FIREBIRD
Soit, j'ai donc pris une base de test avec uniquement les tables principales , en enlevant les requêtes les macros et autres formulaires

J'ai lancé la conversion proposée, et çà plante , les messages d'erreur ne sont pas du tout explicite,
sou la version officielle 6.0 J'ai créé une nouvelle base FIREBIRD, recopié la structure d'une 1ère table de ma base de test (ADHERENTS) et essayé de remplir avec les données de la table, au surprise, tous les champs Numérique sont remplis avec des chiffres incomprehensibles

je suis vraiment inquiet, car s'il faut que je reprenne tout le travail fait depuis 10 ans , je désespère et j'en suis uniquement aux tables, qu'est ce que cela augure pour les requetes ou formulaires

y a t'il une aide pour faire cette conversion

Cordialement
Dernière édition par wormsf le 16 Fév 2019 20:49, édité 2 fois.
VVersion: 6.0.7.3
Build ID: dc89aa7a9eabfd848af146d5086077aeed2ae4a5
Threads CPU : 4; OS : Linux 4.15; UI Render : par défaut; VCL: kde4;
Locale : fr-FR (fr_FR.UTF-8); Calc: group
Linux Mint 18.1 Serena
wormsf
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 124
Inscrit le : 02 Jan 2008 17:15

Re: Migration base interne HSQLDB vers FIREBIRD

Messagepar jeanmimi » 12 Jan 2019 17:34

Bonjour,
wormsf a écrit:J'ai lancé la conversion proposée, et çà plante , les messages d'erreur ne sont pas du tout explicite,


Le plantage, chez moi, est lié à une trace de Macro que je n'arrive pas à visualiser.
LibreOffice Version : 6.2.1.2 (x64) (8 mars 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 14833
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Migration base interne HSQLDB vers FIREBIRD

Messagepar micmac » 12 Jan 2019 17:58

Dans votre signature il y a écrit:Version: 5.3.7.2
Build ID: 6b8ed514a9f8b44d37a1b96673cbbdd077e24059
Threads CPU : 4; Version de l'OS :Linux 4.10; UI Render : par défaut; VCL : kde4; Moteur de mise en page : nouveau;
Locale : fr-FR (fr_FR.UTF-8); Calc: group
Linux Mint 18.1 Serena
wormsf a écrit:j'utilise actuellement la version 6.0.7 de libreoffice
C'est cette information qui doit figurer dans votre signature en précisant la version exacte de LibO (version officielle ou des dépôts selon le cas) et le système sur lequel il tourne.

Accès direct à votre signature pour la corriger.
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 5673
Inscrit le : 28 Août 2010 09:45

Re: Migration base interne HSQLDB vers FIREBIRD

Messagepar wormsf » 13 Jan 2019 19:56

Micmac
j'ai corrigé ma signature
jeanmimi
la base que j'ai mise est la base de départ HSQL
FVP TEST1.odb
base HSQL
(482.42 Kio) Téléchargé 10 fois
que j'ai essayé de migrer en FIREBIRD avec LO6.1
comme cela ne marchait pas,
j'ai sauvegardé mes tables dans un fichier cacl
j'ai créé avec LO6.0 une base FIREBIRD
FVP Firerbird.odb
base FIREBIRD
(345.26 Kio) Téléchargé 19 fois
et recopié les tables dans cette base
en demandant la détection automatique du format des cellules
en demandant que le champ ID soit clé primaire
l'opération a été OK, sauf que le champ ID, n'est plus en autoincrementation
j'ai créé des vues, mais ça plante pour la vue EXERCICE car il y a une formule CAST( YEAR( "DATE_MIN" ) - 1 || '-' || MONTH( "DATE_MIN" ) || '-' || DAY( "DATE_MIN" ) AS DATE ), FIREBIRD ne connait pas YEAR !!

de plus : une fois une vue créée on ne peut plus la modifier, car FIREBIRD la visualise comme une table !!!!

j'ai créé une requête, mais problème FIREBIRD ne connait pas CONCAT

J'ai créé un formulaire, qui s'ouvre comme il faut mais le contrôle après enregistrement d'une nouvelle opération ne marche pas

peut être faudrait il que je soumette ma base de donnée aux équipes qui développent la migration vers FIREBIRD ???
VVersion: 6.0.7.3
Build ID: dc89aa7a9eabfd848af146d5086077aeed2ae4a5
Threads CPU : 4; OS : Linux 4.15; UI Render : par défaut; VCL: kde4;
Locale : fr-FR (fr_FR.UTF-8); Calc: group
Linux Mint 18.1 Serena
wormsf
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 124
Inscrit le : 02 Jan 2008 17:15

Re: Migration base interne HSQLDB vers FIREBIRD

Messagepar Piaf » 14 Jan 2019 13:05

Bonjour
Tu devrais peut-être consulter un site sur le SQL de Firebird.
wormsf a écrit:j'ai créé une requête, mais problème FIREBIRD ne connait pas CONCAT
Code : Tout sélectionner   AgrandirRéduire
select first_name||' '||last_name from employee;

Take a note, if one of the columns is NULL, the result will be NULL. Why? Well, NULL means that value is unknown, so if you put together a known and an unknown value, you don't know what will you get as a result. Thus the result is also unknown or NULL.
To work around that problem use COALESCE function.
Excuse pour l'anglais mais je n'ai pas trouvé en français.
A+
Libre Office Version: 6.1.5 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Piaf
GourOOu
GourOOu
 
Message(s) : 5596
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane

Re: Migration base interne HSQLDB vers FIREBIRD

Messagepar jeanmimi » 14 Jan 2019 18:13

Bonjour,
wormsf a écrit:FIREBIRD ne connait pas YEAR !!

La syntaxe est différente du SQL des Bases HSQLDB avec la fonction EXTRACT et l'alias juste nommé sans le code SQL AS :
Code : Tout sélectionner   AgrandirRéduire
SELECT "date", EXTRACT( YEAR FROM "date" ) "Année" FROM "Cotisation"

Tu peux te reporter à ce tutoriel comme suggéré par Piaf :
hxxxs://www.firebirdsql.org/file/docume ... cs-extract

Quant à la concaténation, celle-ci fonctionne. Ici on retrouve le Code SQL connu ORDER BY pour un tri par ordre alphabétique des adhérents. Quant au Code SQL LIKE pour un critère, il s'exprime directement par le signe = :
Code : Tout sélectionner   AgrandirRéduire
SELECT "Cotisation"."date", EXTRACT( YEAR FROM "date" ) "Année", "ADHERENTS"."Prénom" || ' ' || "Nom" "Identité Adhérent" FROM "Cotisation", "ADHERENTS" WHERE "Cotisation"."N0" = "ADHERENTS"."ID" AND EXTRACT( YEAR FROM "date" ) = '2018' ORDER BY "ADHERENTS"."Nom" ASC


 Ajout : Il manque dans la Base une Table_détails_filleuls, avec les champs ID_Filleul (clé primaire), ID_Parrain, Nom_Filleul. Les champs Filleuls 1, puis 2 et 3 devraient être supprimés de la Table des Adhérents. 
LibreOffice Version : 6.2.1.2 (x64) (8 mars 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 14833
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Migration base interne HSQLDB vers FIREBIRD

Messagepar wormsf » 14 Jan 2019 21:04

Merci Jeanmimi pour ces précisions, je vais étudier le code SQL de FIREBIRD, car si c'est le remplaçant à terme de HSQL, il faut que j'anticipe
QUand à la remarque
Il manque dans la Base une Table_détails_filleuls, avec les champs ID_Filleul (clé primaire), ID_Parrain, Nom_Filleul. Les champs Filleuls 1, puis 2 et 3 devraient être supprimés de la Table des Adhérents.
en fait dans la base HSQL, il y a 3 vues filleuls2 Filleuls3 filleuls4 , copies de la table filleuls, et que je n'ai pas remis dans la base FIREBIRD
je n'ai pas tout converti
il reste un problème dans la base FIREBIRD, les vues une fois créées, ne sont plus modifiables,car en mode édition, elles sont présentées comme des tables
VVersion: 6.0.7.3
Build ID: dc89aa7a9eabfd848af146d5086077aeed2ae4a5
Threads CPU : 4; OS : Linux 4.15; UI Render : par défaut; VCL: kde4;
Locale : fr-FR (fr_FR.UTF-8); Calc: group
Linux Mint 18.1 Serena
wormsf
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 124
Inscrit le : 02 Jan 2008 17:15

Re: Migration base interne HSQLDB vers FIREBIRD

Messagepar Piaf » 14 Jan 2019 22:13

Bonsoir
A priori les vues ne semblent effectivement pas modifiables, mais elles sont mises à jour en cas de modification des données de la table dont elles sont issues.
Attention aux fonctions SQL IFNULL devrait être remplacé par COALESCE, CASEWHEN par IIF, par exemple.
A+
Libre Office Version: 6.1.5 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Piaf
GourOOu
GourOOu
 
Message(s) : 5596
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane

Re: Migration base interne HSQLDB vers FIREBIRD

Messagepar wormsf » 15 Jan 2019 10:07

Merci à tous pour ces conseils,
je pense marquer le sujet comme résolu , car cela va être un travail de longue haleine
VVersion: 6.0.7.3
Build ID: dc89aa7a9eabfd848af146d5086077aeed2ae4a5
Threads CPU : 4; OS : Linux 4.15; UI Render : par défaut; VCL: kde4;
Locale : fr-FR (fr_FR.UTF-8); Calc: group
Linux Mint 18.1 Serena
wormsf
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 124
Inscrit le : 02 Jan 2008 17:15


Retour vers Base de données

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Google [Bot] et 2 invité(s)