PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Transfert données base HyperFile vers SQL Serveur ou MySQL
Transfert données base HyperFile vers SQL Serveur ou MySQL
Débuté par s.fuchs, 07 oct. 2006 15:55 - 12 réponses
Posté le 07 octobre 2006 - 15:55
Bonjour,
J'utilise actuellement une base de données HyperFile en client serveur pour une application développée en WinDev.
J'étais très satisfait de ce couple au début, mais je me retrouve maintenant face à un volume plus conséquent de données à gérer. Pour résumer, j'ai un fichier avec environs 4 millions d'enregistrements et j'ai un mal fou à afficher des données extraites de ce fichier (avec des liaisons sur un autre fichier d'environ 1000 enregistrements) dans des temps de réponses acceptables par mon client (ça me prend desfois 45 secondes pour afficher 1000 lignes).
J'ai effectué pas mal d'opérations de maintenance (réindexation, ...) mais rien n'y fait. Au niveau hardware, je doute que cela soit le problème : serveur bi xeon avec 4 GB de RAM et 160 GO de disque dur. Le fichier des données du fichier incriminé fait 675 Mo et le fichier d'indexs fait 650 Mo.
J'ai un background de connaissance sur des applications C# et SQL Serveur et j'ai déjà eu à gérer plusieurs millions d'enregistrements sur ce gestionnaire de bases de données sans rencontrer ce type de problème.
Le problème devenant maintenant assez critique, je dois trouver une solution.
J'aurais aimé faire des tests en utilisant une base de données SQL Serveur (ou MySQL), en y important la structure et les données actuellement dans la base HyperFile, et en branchant mon application dessus pour voir si cela résoudrait mes problèmes.

Quelqu'un connaît-il un moyen de transférer une base HyperFile CS vers une base SQL Serveur ou MySQL ?

Quelqu'un connaît-il sinon des astuces pour booster les traitements HyperFile (montée des fichiers en mémoire, décomposition des clés en différents fichiers, ...) ?

Merci beaucoup pour vos informations,

Steve
Posté le 07 octobre 2006 - 18:16
Bonjour,

Je rencontre le même probleme que vous, si vousavez unr solution pourriez
vous me prevenir ?
J'ai egalement une gestion du groupeWare utilisaeur avec 400 users dedans ,
cela devrait passer sous SQL Serveur merci de m'informer de l'evolution ?
Fabian

"Steve FUCHS" <s.fuchs@clemessy.fr> a écrit dans le message de news:
45276e2e$1@news.pcsoft.fr...

Bonjour,
J'utilise actuellement une base de données HyperFile en client serveur
pour une application développée en WinDev.
J'étais très satisfait de ce couple au début, mais je me retrouve
maintenant face à un volume plus conséquent de données à gérer. Pour
résumer, j'ai un fichier avec environs 4 millions d'enregistrements et
j'ai un mal fou à afficher des données extraites de ce fichier (avec des
liaisons sur un autre fichier d'environ 1000 enregistrements) dans des
temps de réponses acceptables par mon client (ça me prend desfois 45
secondes pour afficher 1000 lignes).
J'ai effectué pas mal d'opérations de maintenance (réindexation, ...) mais
rien n'y fait. Au niveau hardware, je doute que cela soit le problème :
serveur bi xeon avec 4 GB de RAM et 160 GO de disque dur. Le fichier des
données du fichier incriminé fait 675 Mo et le fichier d'indexs fait 650
Mo.
J'ai un background de connaissance sur des applications C# et SQL Serveur
et j'ai déjà eu à gérer plusieurs millions d'enregistrements sur ce
gestionnaire de bases de données sans rencontrer ce type de problème.
Le problème devenant maintenant assez critique, je dois trouver une
solution.
J'aurais aimé faire des tests en utilisant une base de données SQL Serveur
(ou MySQL), en y important la structure et les données actuellement dans
la base HyperFile, et en branchant mon application dessus pour voir si
cela résoudrait mes problèmes.

Quelqu'un connaît-il un moyen de transférer une base HyperFile CS vers une
base SQL Serveur ou MySQL ?

Quelqu'un connaît-il sinon des astuces pour booster les traitements
HyperFile (montée des fichiers en mémoire, décomposition des clés en
différents fichiers, ...) ?

Merci beaucoup pour vos informations,

Steve

Posté le 07 octobre 2006 - 19:17
SQLManagerX Converter. Vous selectionnez l'analyse, vous selectionnez le
SGBD cible est c'est terminé.

disponible sur www.sqlmanagerx.com



"Abbeel Fabian" <abbeel.fabian@skynet.be> a écrit dans le message de news:
4527b548$1@news.pcsoft.fr...

Bonjour,

Je rencontre le même probleme que vous, si vousavez unr solution pourriez
vous me prevenir ?
J'ai egalement une gestion du groupeWare utilisaeur avec 400 users dedans
,
cela devrait passer sous SQL Serveur merci de m'informer de l'evolution ?
Fabian

"Steve FUCHS" <s.fuchs@clemessy.fr> a écrit dans le message de news:
45276e2e$1@news.pcsoft.fr...

Bonjour,
J'utilise actuellement une base de données HyperFile en client serveur
pour une application développée en WinDev.
J'étais très satisfait de ce couple au début, mais je me retrouve
maintenant face à un volume plus conséquent de données à gérer. Pour
résumer, j'ai un fichier avec environs 4 millions d'enregistrements et
j'ai un mal fou à afficher des données extraites de ce fichier (avec des
liaisons sur un autre fichier d'environ 1000 enregistrements) dans des
temps de réponses acceptables par mon client (ça me prend desfois 45
secondes pour afficher 1000 lignes).
J'ai effectué pas mal d'opérations de maintenance (réindexation, ...)
mais
rien n'y fait. Au niveau hardware, je doute que cela soit le problème :
serveur bi xeon avec 4 GB de RAM et 160 GO de disque dur. Le fichier des
données du fichier incriminé fait 675 Mo et le fichier d'indexs fait 650
Mo.
J'ai un background de connaissance sur des applications C# et SQL Serveur
et j'ai déjà eu à gérer plusieurs millions d'enregistrements sur ce
gestionnaire de bases de données sans rencontrer ce type de problème.
Le problème devenant maintenant assez critique, je dois trouver une
solution.
J'aurais aimé faire des tests en utilisant une base de données SQL
Serveur
(ou MySQL), en y important la structure et les données actuellement dans
la base HyperFile, et en branchant mon application dessus pour voir si
cela résoudrait mes problèmes.

Quelqu'un connaît-il un moyen de transférer une base HyperFile CS vers
une
base SQL Serveur ou MySQL ?

Quelqu'un connaît-il sinon des astuces pour booster les traitements
HyperFile (montée des fichiers en mémoire, décomposition des clés en
différents fichiers, ...) ?

Merci beaucoup pour vos informations,

Steve




Posté le 08 octobre 2006 - 01:32
Bonsoir,

Vous pouvez également créer une moulinette de transfert, il ne faut que
quelques lignes de code avec les fonctions suivantes :
- "HOuvreAnalyse" pour vous connecter à une base quelconque,
- "HAlias" pour avoir une copie du fichier,
- "HChangeConnexion" pour que l'alias travail sur la base sur laquelle la
connexion a été ouverte,
- "POUR TOUT" pour parcourir les enregistrements du fichier source HF,
- "HCopieEnreg" "HAjoute" pour copier les enregistrements

Il est même envisageable de traiter une analyse complète, et plaçant le tout
dans parcours de la liste des fichiers (fonction "HListeFichier").


Elian Lacroix
elian.lacroix@gmail.com
http://elianlacroix.blogspot.com/

"Steve FUCHS" <s.fuchs@clemessy.fr> a écrit dans le message de news:
45276e2e$1@news.pcsoft.fr...

Bonjour,
J'utilise actuellement une base de données HyperFile en client serveur
pour une application développée en WinDev.
J'étais très satisfait de ce couple au début, mais je me retrouve
maintenant face à un volume plus conséquent de données à gérer. Pour
résumer, j'ai un fichier avec environs 4 millions d'enregistrements et
j'ai un mal fou à afficher des données extraites de ce fichier (avec des
liaisons sur un autre fichier d'environ 1000 enregistrements) dans des
temps de réponses acceptables par mon client (ça me prend desfois 45
secondes pour afficher 1000 lignes).
J'ai effectué pas mal d'opérations de maintenance (réindexation, ...) mais
rien n'y fait. Au niveau hardware, je doute que cela soit le problème :
serveur bi xeon avec 4 GB de RAM et 160 GO de disque dur. Le fichier des
données du fichier incriminé fait 675 Mo et le fichier d'indexs fait 650
Mo.
J'ai un background de connaissance sur des applications C# et SQL Serveur
et j'ai déjà eu à gérer plusieurs millions d'enregistrements sur ce
gestionnaire de bases de données sans rencontrer ce type de problème.
Le problème devenant maintenant assez critique, je dois trouver une
solution.
J'aurais aimé faire des tests en utilisant une base de données SQL Serveur
(ou MySQL), en y important la structure et les données actuellement dans
la base HyperFile, et en branchant mon application dessus pour voir si
cela résoudrait mes problèmes.

Quelqu'un connaît-il un moyen de transférer une base HyperFile CS vers une
base SQL Serveur ou MySQL ?

Quelqu'un connaît-il sinon des astuces pour booster les traitements
HyperFile (montée des fichiers en mémoire, décomposition des clés en
différents fichiers, ...) ?

Merci beaucoup pour vos informations,

Steve
Posté le 08 octobre 2006 - 21:44
manu a raison mais il faut chercher SQLManagerX Data center
il y a dans menu outil : convertir une analyse HF

le converter a ete ajoute au data center et n'existe plus seul



"Abbeel Fabian" <abbeel.fabian@skynet.be> a écrit dans le message de news:
4527b548$1@news.pcsoft.fr...

Bonjour,

Je rencontre le même probleme que vous, si vousavez unr solution pourriez
vous me prevenir ?
J'ai egalement une gestion du groupeWare utilisaeur avec 400 users dedans
,
cela devrait passer sous SQL Serveur merci de m'informer de l'evolution ?
Fabian

"Steve FUCHS" <s.fuchs@clemessy.fr> a écrit dans le message de news:
45276e2e$1@news.pcsoft.fr...

Bonjour,
J'utilise actuellement une base de données HyperFile en client serveur
pour une application développée en WinDev.
J'étais très satisfait de ce couple au début, mais je me retrouve
maintenant face à un volume plus conséquent de données à gérer. Pour
résumer, j'ai un fichier avec environs 4 millions d'enregistrements et
j'ai un mal fou à afficher des données extraites de ce fichier (avec des
liaisons sur un autre fichier d'environ 1000 enregistrements) dans des
temps de réponses acceptables par mon client (ça me prend desfois 45
secondes pour afficher 1000 lignes).
J'ai effectué pas mal d'opérations de maintenance (réindexation, ...)
mais
rien n'y fait. Au niveau hardware, je doute que cela soit le problème :
serveur bi xeon avec 4 GB de RAM et 160 GO de disque dur. Le fichier des
données du fichier incriminé fait 675 Mo et le fichier d'indexs fait 650
Mo.
J'ai un background de connaissance sur des applications C# et SQL Serveur
et j'ai déjà eu à gérer plusieurs millions d'enregistrements sur ce
gestionnaire de bases de données sans rencontrer ce type de problème.
Le problème devenant maintenant assez critique, je dois trouver une
solution.
J'aurais aimé faire des tests en utilisant une base de données SQL
Serveur
(ou MySQL), en y important la structure et les données actuellement dans
la base HyperFile, et en branchant mon application dessus pour voir si
cela résoudrait mes problèmes.

Quelqu'un connaît-il un moyen de transférer une base HyperFile CS vers
une
base SQL Serveur ou MySQL ?

Quelqu'un connaît-il sinon des astuces pour booster les traitements
HyperFile (montée des fichiers en mémoire, décomposition des clés en
différents fichiers, ...) ?

Merci beaucoup pour vos informations,

Steve




Posté le 08 octobre 2006 - 21:45
"Emmanuel Lecoester" <elecoest@netcourrier.com> a écrit dans le message de
news: 4527c470$1@news.pcsoft.fr...

SQLManagerX Converter. Vous selectionnez l'analyse, vous selectionnez le
SGBD cible est c'est terminé.


Oups, comme on me l'a fait remarquer par mel c'est le Data Center et non le
converter.

disponible sur www.sqlmanagerx.com



"Abbeel Fabian" <abbeel.fabian@skynet.be> a écrit dans le message de news:
4527b548$1@news.pcsoft.fr...

Bonjour,

Je rencontre le même probleme que vous, si vousavez unr solution pourriez
vous me prevenir ?
J'ai egalement une gestion du groupeWare utilisaeur avec 400 users dedans
,
cela devrait passer sous SQL Serveur merci de m'informer de l'evolution ?
Fabian

"Steve FUCHS" <s.fuchs@clemessy.fr> a écrit dans le message de news:
45276e2e$1@news.pcsoft.fr...

Bonjour,
J'utilise actuellement une base de données HyperFile en client serveur
pour une application développée en WinDev.
J'étais très satisfait de ce couple au début, mais je me retrouve
maintenant face à un volume plus conséquent de données à gérer. Pour
résumer, j'ai un fichier avec environs 4 millions d'enregistrements et
j'ai un mal fou à afficher des données extraites de ce fichier (avec des
liaisons sur un autre fichier d'environ 1000 enregistrements) dans des
temps de réponses acceptables par mon client (ça me prend desfois 45
secondes pour afficher 1000 lignes).
J'ai effectué pas mal d'opérations de maintenance (réindexation, ...)
mais
rien n'y fait. Au niveau hardware, je doute que cela soit le problème :
serveur bi xeon avec 4 GB de RAM et 160 GO de disque dur. Le fichier des
données du fichier incriminé fait 675 Mo et le fichier d'indexs fait 650
Mo.
J'ai un background de connaissance sur des applications C# et SQL
Serveur
et j'ai déjà eu à gérer plusieurs millions d'enregistrements sur ce
gestionnaire de bases de données sans rencontrer ce type de problème.
Le problème devenant maintenant assez critique, je dois trouver une
solution.
J'aurais aimé faire des tests en utilisant une base de données SQL
Serveur
(ou MySQL), en y important la structure et les données actuellement dans
la base HyperFile, et en branchant mon application dessus pour voir si
cela résoudrait mes problèmes.

Quelqu'un connaît-il un moyen de transférer une base HyperFile CS vers
une
base SQL Serveur ou MySQL ?

Quelqu'un connaît-il sinon des astuces pour booster les traitements
HyperFile (montée des fichiers en mémoire, décomposition des clés en
différents fichiers, ...) ?

Merci beaucoup pour vos informations,

Steve






Posté le 09 octobre 2006 - 11:17
Bonjour,

J'ai laissé une erreur dans ce message, il s'agit de la fonction
"HOuvreConnexion" qui permet de se connecter, et non pas la fonction
"HOuvreAnalyse"...


Elian Lacroix
elian.lacroix@gmail.com
http://elianlacroix.blogspot.com/

"Elian" <elian.lacroix@gmail.com> a écrit dans le message de news:
45281b8f@news.pcsoft.fr...

Bonsoir,

Vous pouvez également créer une moulinette de transfert, il ne faut que
quelques lignes de code avec les fonctions suivantes :
- "HOuvreAnalyse" pour vous connecter à une base quelconque,
- "HAlias" pour avoir une copie du fichier,
- "HChangeConnexion" pour que l'alias travail sur la base sur laquelle la
connexion a été ouverte,
- "POUR TOUT" pour parcourir les enregistrements du fichier source HF,
- "HCopieEnreg" "HAjoute" pour copier les enregistrements

Il est même envisageable de traiter une analyse complète, et plaçant le
tout
dans parcours de la liste des fichiers (fonction "HListeFichier").


Elian Lacroix
elian.lacroix@gmail.com
http://elianlacroix.blogspot.com/

"Steve FUCHS" <s.fuchs@clemessy.fr> a écrit dans le message de news:
45276e2e$1@news.pcsoft.fr...

Bonjour,
J'utilise actuellement une base de données HyperFile en client serveur
pour une application développée en WinDev.
J'étais très satisfait de ce couple au début, mais je me retrouve
maintenant face à un volume plus conséquent de données à gérer. Pour
résumer, j'ai un fichier avec environs 4 millions d'enregistrements et
j'ai un mal fou à afficher des données extraites de ce fichier (avec des
liaisons sur un autre fichier d'environ 1000 enregistrements) dans des
temps de réponses acceptables par mon client (ça me prend desfois 45
secondes pour afficher 1000 lignes).
J'ai effectué pas mal d'opérations de maintenance (réindexation, ...)
mais
rien n'y fait. Au niveau hardware, je doute que cela soit le problème :
serveur bi xeon avec 4 GB de RAM et 160 GO de disque dur. Le fichier des
données du fichier incriminé fait 675 Mo et le fichier d'indexs fait 650
Mo.
J'ai un background de connaissance sur des applications C# et SQL Serveur
et j'ai déjà eu à gérer plusieurs millions d'enregistrements sur ce
gestionnaire de bases de données sans rencontrer ce type de problème.
Le problème devenant maintenant assez critique, je dois trouver une
solution.
J'aurais aimé faire des tests en utilisant une base de données SQL
Serveur
(ou MySQL), en y important la structure et les données actuellement dans
la base HyperFile, et en branchant mon application dessus pour voir si
cela résoudrait mes problèmes.

Quelqu'un connaît-il un moyen de transférer une base HyperFile CS vers
une
base SQL Serveur ou MySQL ?

Quelqu'un connaît-il sinon des astuces pour booster les traitements
HyperFile (montée des fichiers en mémoire, décomposition des clés en
différents fichiers, ...) ?

Merci beaucoup pour vos informations,

Steve


Posté le 09 octobre 2006 - 11:41
Il y a un problème de performance dans les requetes SQL avec HFCS quand les conditions de sélection ne sont pas clés
ex : select client.nom,societe.nom from client,societe where client.num_soc=societe.num_soc

num_soc doit être clé dans les 2 fichiers
Posté le 09 octobre 2006 - 12:44
Je vais tenter ce Data Center de suite.
Posté le 09 octobre 2006 - 13:02
Ok, j'ai pensé à ce point et j'ai fait les clés qui vont bien mais ça n'a pas vraiment résolu mes problèmes de performances.
Posté le 09 octobre 2006 - 13:02
Merci pour vos réponses, je vais essayer le Data Center de SQL Manager X.
Cependant j'aurais préféré rester sur HyperFile CS, le transfert vers SQL Serveur est la solution de la dernière chance.
Vous ne connaissez pas des options d'optimisation du serveur HyperFile ?
Parce que mon client m'a montré un jour une plaquette commerciale où il était dit que HyperFile est ultra rapide et est capable de gérer plusieurs millions de milliards d'enregistrements, alors je me dit que je dois un peu être à coté de la plaque et que je n'ai pas bien configuré le serveur Manta. Mais je ne vois pas vraiment où configurer les options de montée en mémoire des fichiers, des scindages de fichier d'index, ...
Vous savez où on peut faire ça ?
Merci
Posté le 09 octobre 2006 - 13:47
Bonjour,

En tout premier lieu, il faut orienter vos recherches avec l'analyseur de
performances. Avec les fonctions "AnalyseurDébut" et "AnalyseurFin", vous
pouvez créer un rapport d'exécution d'un traitement avec lequel une
difficulté survient. A partir de ce rapport vous pourrez repérer les
traitements à optimiser.

Quelques pistes de recherches en ce qui concerne les interrogations :
- Statistiques d'index à jour (vraiment primordial),
- fonctions HOptimise,
- interrogations adaptées aux besoins réels de l'utilisateur final,
- vérification configuration (parfois un simple défaut d'adresse IP a des
conséquences terribles)...


Elian Lacroix
elian.lacroix@gmail.com
http://elianlacroix.blogspot.com/

"Steve FUCHS" <s.fuchs@clemessy.fr> a écrit dans le message de news:
452a0d7c$1@news.pcsoft.fr...

Merci pour vos réponses, je vais essayer le Data Center de SQL Manager X.
Cependant j'aurais préféré rester sur HyperFile CS, le transfert vers SQL
Serveur est la solution de la dernière chance.
Vous ne connaissez pas des options d'optimisation du serveur HyperFile ?
Parce que mon client m'a montré un jour une plaquette commerciale où il
était dit que HyperFile est ultra rapide et est capable de gérer plusieurs
millions de milliards d'enregistrements, alors je me dit que je dois un
peu être à coté de la plaque et que je n'ai pas bien configuré le serveur
Manta. Mais je ne vois pas vraiment où configurer les options de montée en
mémoire des fichiers, des scindages de fichier d'index, ...
Vous savez où on peut faire ça ?
Merci
Posté le 09 octobre 2006 - 13:59
Bonjour,

Au sujet des statistiques d'index, j'avais fait un billet :
http://elianlacroix.blogspot.com/2006/09/quiz-connaissez-vous-la-fonction.html


Elian Lacroix
elian.lacroix@gmail.com
http://elianlacroix.blogspot.com/

"Elian" <elian.lacroix@gmail.com> a écrit dans le message de news:
452a1381$1@news.pcsoft.fr...

Bonjour,

En tout premier lieu, il faut orienter vos recherches avec l'analyseur de
performances. Avec les fonctions "AnalyseurDébut" et "AnalyseurFin", vous
pouvez créer un rapport d'exécution d'un traitement avec lequel une
difficulté survient. A partir de ce rapport vous pourrez repérer les
traitements à optimiser.

Quelques pistes de recherches en ce qui concerne les interrogations :
- Statistiques d'index à jour (vraiment primordial),
- fonctions HOptimise,
- interrogations adaptées aux besoins réels de l'utilisateur final,
- vérification configuration (parfois un simple défaut d'adresse IP a des
conséquences terribles)...


Elian Lacroix
elian.lacroix@gmail.com
http://elianlacroix.blogspot.com/

"Steve FUCHS" <s.fuchs@clemessy.fr> a écrit dans le message de news:
452a0d7c$1@news.pcsoft.fr...

Merci pour vos réponses, je vais essayer le Data Center de SQL Manager X.
Cependant j'aurais préféré rester sur HyperFile CS, le transfert vers SQL
Serveur est la solution de la dernière chance.
Vous ne connaissez pas des options d'optimisation du serveur HyperFile ?
Parce que mon client m'a montré un jour une plaquette commerciale où il
était dit que HyperFile est ultra rapide et est capable de gérer
plusieurs
millions de milliards d'enregistrements, alors je me dit que je dois un
peu être à coté de la plaque et que je n'ai pas bien configuré le serveur
Manta. Mais je ne vois pas vraiment où configurer les options de montée
en
mémoire des fichiers, des scindages de fichier d'index, ...
Vous savez où on peut faire ça ?
Merci