OVH Cloud OVH Cloud

Etude Migration HF vers Firebird

5 réponses
Avatar
Vincent
J'ai un grosse appli utilisant le système HF (non client-serveur)

Les écrans utilisent aussi bien des tables fichiers,
des tables mémoires associé à du HFiltre, Hlitrecherche, etc ..
des Requetes intégrés, des requêtes lancée via HExecuteRequeteSQL(
MaRequete, MaLigneSQL)

Donc pour résumer, toutes les maniéres possibles d'attaquer un fichier
hyperfile local.

Quels sont les conversions à réaliser, afin d'utiliser Firebird
(surement grâce à FireBird4WD)

Quels sont les risques ?

Avez-vous des expériences de migration HF -> Firebird ?

Merci.

5 réponses

Avatar
Daniel
Vincent writes:

J'ai un grosse appli utilisant le système HF (non client-serveur)

Les écrans utilisent aussi bien des tables fichiers,
des tables mémoires associé à du HFiltre, Hlitrecherche, etc ..
des Requetes intégrés, des requêtes lancée via HExecuteRequeteSQL(
MaRequete, MaLigneSQL)

Donc pour résumer, toutes les maniéres possibles d'attaquer un fichier
hyperfile local.

Quels sont les conversions à réaliser, afin d'utiliser Firebird
(surement grâce à FireBird4WD)



dépend de ton application, mais la classe permet soit de faire du
sqlnatif, ou si tu utilises sqlmanagerx tu fais plus du style
sqlrecherche pour hrecherche etc...

Quels sont les risques ?



-Que sa marche ;-)
-Que tu sois sur une base ouverte...
-Que tu ne réindexes plus ;-)

PLus sérieursement , tu as les classes, tu as les dll...
Il faudrait avoir le code de la dll.

Avez-vous des expériences de migration HF -> Firebird ?



Non, mais d'autres bases (Mysql,postgresql).
Le seul point qui restait en suspend sur cet accès firebird est les blobs.

--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
Vincent
Daniel a écrit :
Vincent writes:


J'ai un grosse appli utilisant le système HF (non client-serveur)

Les écrans utilisent aussi bien des tables fichiers,
des tables mémoires associé à du HFiltre, Hlitrecherche, etc ..
des Requetes intégrés, des requêtes lancée via HExecuteRequeteSQL(
MaRequete, MaLigneSQL)

Donc pour résumer, toutes les maniéres possibles d'attaquer un fichier
hyperfile local.

Quels sont les conversions à réaliser, afin d'utiliser Firebird
(surement grâce à FireBird4WD)




dépend de ton application, mais la classe permet soit de faire du
sqlnatif, ou si tu utilises sqlmanagerx tu fais plus du style
sqlrecherche pour hrecherche etc...




ils faut donc convertir le code pour toute les instructions de type
HlitRecherche
Hlitpremier
Hlitsuivant
HFiltre
HExecuteRequeteSQL
et refaire les requêtes intégrées ?


Quels sont les risques ?




-Que sa marche ;-)
-Que tu sois sur une base ouverte...
-Que tu ne réindexes plus ;-)

PLus sérieursement , tu as les classes, tu as les dll...
Il faudrait avoir le code de la dll.


Avez-vous des expériences de migration HF -> Firebird ?




Non, mais d'autres bases (Mysql,postgresql).
Le seul point qui restait en suspend sur cet accès firebird est les blobs.



Avatar
Dev
Bonjour,
...
ils faut donc convertir le code pour toute les instructions de type
HlitRecherche


...

ne pas oublier la très interessante possibilité de surcharger les fonctions
windev par des procédures personnelles adaptées ...

--
Cordialement
Christophe Charron

Service Développement
PROLOGIQ
7 bis Rue des Aulnes
69410 Champagne au Mont d'Or

Tel : 0 437 499 107
Fax : 0 437 499 105
mailto:

"Vincent" a écrit dans le message de
news:4320142e$0$5176$
Daniel a écrit :
> Vincent writes:
>
>
>>J'ai un grosse appli utilisant le système HF (non client-serveur)
>>
>>Les écrans utilisent aussi bien des tables fichiers,
>>des tables mémoires associé à du HFiltre, Hlitrecherche, etc ..
>>des Requetes intégrés, des requêtes lancée via HExecuteRequeteSQL(
>>MaRequete, MaLigneSQL)
>>
>>Donc pour résumer, toutes les maniéres possibles d'attaquer un fichier
>>hyperfile local.
>>
>>Quels sont les conversions à réaliser, afin d'utiliser Firebird
>>(surement grâce à FireBird4WD)
>
>
> dépend de ton application, mais la classe permet soit de faire du
> sqlnatif, ou si tu utilises sqlmanagerx tu fais plus du style
> sqlrecherche pour hrecherche etc...
>

ils faut donc convertir le code pour toute les instructions de type
HlitRecherche
Hlitpremier
Hlitsuivant
HFiltre
HExecuteRequeteSQL
et refaire les requêtes intégrées ?

>
>>Quels sont les risques ?
>
>
> -Que sa marche ;-)
> -Que tu sois sur une base ouverte...
> -Que tu ne réindexes plus ;-)
>
> PLus sérieursement , tu as les classes, tu as les dll...
> Il faudrait avoir le code de la dll.
>
>
>>Avez-vous des expériences de migration HF -> Firebird ?
>
>
> Non, mais d'autres bases (Mysql,postgresql).
> Le seul point qui restait en suspend sur cet accès firebird est les


blobs.
>


Avatar
Daniel
Vincent writes:

Daniel a écrit :
> Vincent writes:
>
>
>>J'ai un grosse appli utilisant le système HF (non client-serveur)
>>
>>Les écrans utilisent aussi bien des tables fichiers,
>>des tables mémoires associé à du HFiltre, Hlitrecherche, etc ..
>>des Requetes intégrés, des requêtes lancée via HExecuteRequeteS QL(
>>MaRequete, MaLigneSQL)
>>
>>Donc pour résumer, toutes les maniéres possibles d'attaquer un fich ier
>>hyperfile local.
>>
>>Quels sont les conversions à réaliser, afin d'utiliser Firebird
>>(surement grâce à FireBird4WD)
>
>
> dépend de ton application, mais la classe permet soit de faire du
> sqlnatif, ou si tu utilises sqlmanagerx tu fais plus du style
> sqlrecherche pour hrecherche etc...
>

ils faut donc convertir le code pour toute les instructions de type
HlitRecherche
Hlitpremier
Hlitsuivant
HFiltre
HExecuteRequeteSQL
et refaire les requêtes intégrées ?



Malheureusement Oui.
Surtout commencer sur un petit projet pour bien maitriser le
principe. Pour les requêtes intégrées je ne les ai jamais utilisé m ais
le plus simple est de reprendre le code de ces requêtes.

Car il faut oublier également l'analyse, qui n'existe pas, et qui
perso je considère plus comme un boulet qu'autre chose (l'analyse).
D'où "dépend de l'application" car j'ai une grosse ...appli est
souvent relatif à l'individu qui le dit ;-)

Sinon, peut être par une surcharge des fonctions, mais jamais testé.


>
>>Quels sont les risques ?
>
>
> -Que sa marche ;-)
> -Que tu sois sur une base ouverte...
> -Que tu ne réindexes plus ;-)
>
> PLus sérieursement , tu as les classes, tu as les dll...
> Il faudrait avoir le code de la dll.
>
>
>>Avez-vous des expériences de migration HF -> Firebird ?
>
>
> Non, mais d'autres bases (Mysql,postgresql).
> Le seul point qui restait en suspend sur cet accès firebird est les b lobs.
>



--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
Manu
"Vincent" wrote in message
news:4320142e$0$5176$
Daniel a écrit :
> Vincent writes:
>
>
>>J'ai un grosse appli utilisant le système HF (non client-serveur)
>>
>>Les écrans utilisent aussi bien des tables fichiers,
>>des tables mémoires associé à du HFiltre, Hlitrecherche, etc ..
>>des Requetes intégrés, des requêtes lancée via HExecuteRequeteSQL(
>>MaRequete, MaLigneSQL)
>>
>>Donc pour résumer, toutes les maniéres possibles d'attaquer un fichier
>>hyperfile local.
>>
>>Quels sont les conversions à réaliser, afin d'utiliser Firebird
>>(surement grâce à FireBird4WD)
>
>
> dépend de ton application, mais la classe permet soit de faire du
> sqlnatif, ou si tu utilises sqlmanagerx tu fais plus du style
> sqlrecherche pour hrecherche etc...
>

ils faut donc convertir le code pour toute les instructions de type
HlitRecherche
Hlitpremier
Hlitsuivant
HFiltre



Exactement HFiltre(mon_fichier, ma_clause) devient
i_mon_fichier:SQLFiltre(ma_clause). Pour plus de renseignement sur les
impacts sur ton code, je te conseille une première lecture du Guide de
l'utilisateur SQLManagerX dispo sur le site.

HExecuteRequeteSQL
et refaire les requêtes intégrées ?



Il n'y a plus de requetes integrées, elles sont gérées sous forme de chaine
de caractères. Désolé plus d'interface conviviale de création de requetes.

>
>>Quels sont les risques ?
>
>
> -Que sa marche ;-)
> -Que tu sois sur une base ouverte...
> -Que tu ne réindexes plus ;-)



Que tu n'ais plus de support de l'éditeur pour la base FireBird

> PLus sérieursement , tu as les classes, tu as les dll...
> Il faudrait avoir le code de la dll.



Mais vous avez les sources de la dll ! elle se base sur l'interface IBPP
(dispo sur www.ibpp.org) et elle est compilée avec Dev-CPP qui lui aussi est
gratuit ! Ce n'est que du C++ pour ibpp et de l'encapsulation de ces classes
pour la dll. Rien de haute voltige.

>
>>Avez-vous des expériences de migration HF -> Firebird ?



> Non, mais d'autres bases (Mysql,postgresql).
> Le seul point qui restait en suspend sur cet accès firebird est les


blobs.

Les blobs sont bien gérés directement avec la classe, c'est la gestion des
blob avec SQLManagerX que nous devons vérifier.

--
Emmanuel