Précédent   Forum des professionnels en informatique > Environnements de développement > WinDev > HyperFileSQL
HyperFileSQL HyperFileSQL est un système de gestion de base de données relationnel exploité par les logiciels WinDev, WebDev et WinDev Mobile.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2012, 02h36   #1
Invité de passage
 
Homme
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 9
Points : 1
Points : 1
Par défaut Appli multi "Dossier"

Bonjour

Je suis nouveau et j'ai un peu de mal

Dans le cadre d'une appli multi dossier
En Client/Serveur

il est préférable de créer une base de donnée par dossier ?
Si oui comment fait-on en programmation ?

Je sais comment on change de connexion mais pas comment on cré une base de donnée par programmation (Par exemple lorsque l'on cré un nouveau Dossier il faut créer la Base de donnée correspondante...)

Merci a tous

Cordialment
p.fournier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 12h26   #2
Membre chevronné
 
Avatar de wimbish
 
Homme Christophe Vibert
Développeur informatique
Inscription : octobre 2006
Messages : 292
Détails du profil
Informations personnelles :
Nom : Homme Christophe Vibert
Âge : 38
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2006
Messages : 292
Points : 632
Points : 632
Bonjour,

Fait simplement un HCréation("*") pour créer tes fichier à vide après avoir changé ta connexion.
wimbish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 22h22   #3
Invité de passage
 
Homme
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 9
Points : 1
Points : 1
Par défaut ca marche pas

Code :
1
2
3
4
5
6
7
8
9
10
11
MACONNEXION est une Connexion
 
// Paramètres de la connexion
MACONNEXION..Provider = hAccèsHFClientServeur
MACONNEXION..Utilisateur = "admin"
MACONNEXION..MotDePasse = ""
MACONNEXION..Serveur = "MONSERVEUR"
MACONNEXION..BaseDeDonnées = "MABASE"
MACONNEXION..Cryptage = hCryptageNon
 
HCréationSiInexistant("*")
Bonjour,

Le Serveur Existe
La Base de donnée n'existe pas

==> La base de donnee n'est pas crée du fait de Hcreationsiinexistant

Comment faire ??

Merci de votre aide
p.fournier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 22h33   #4
Invité de passage
 
Homme
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 9
Points : 1
Points : 1
Par défaut j'ai trouvé

Re Bonjour

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
MACONNEXION est une Connexion
 
// Paramètres de la connexion
MACONNEXION..Provider = hAccèsHFClientServeur
MACONNEXION..Utilisateur = "admin"
MACONNEXION..MotDePasse = ""
MACONNEXION..Serveur = "MONSERVEUR"
MACONNEXION..BaseDeDonnées = "MABASE"
MACONNEXION..Cryptage = hCryptageNon
 
HOuvreConnexion(MACONNEXION)
HChangeConnexion("*",MACONNEXION)
 
HCréationSiInexistant("*")
Est-ce que c'est comme celà que vous feriez ?

Merci d'avance
p.fournier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 12h20   #5
Membre chevronné
 
Avatar de wimbish
 
Homme Christophe Vibert
Développeur informatique
Inscription : octobre 2006
Messages : 292
Détails du profil
Informations personnelles :
Nom : Homme Christophe Vibert
Âge : 38
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2006
Messages : 292
Points : 632
Points : 632
Bonjour,

Oui, ton code est juste.
wimbish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 17h14   #6
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Je te conseille de bien réfléchir avant de faire cela, car ça t'apportera des complications sur le long terme, notamment si tu dois avoir des paramètres communs aux différentes bases.

Personnellement je suis revenu en arrière et j'ai tout dans une seule base, en ayant adapté mes requêtes.

A voir selon le contexte.

Cdlt, Arnaud.

Citation:
Envoyé par p.fournier Voir le message
Bonjour

Je suis nouveau et j'ai un peu de mal

Dans le cadre d'une appli multi dossier
En Client/Serveur

il est préférable de créer une base de donnée par dossier ?
Si oui comment fait-on en programmation ?

Je sais comment on change de connexion mais pas comment on cré une base de donnée par programmation (Par exemple lorsque l'on cré un nouveau Dossier il faut créer la Base de donnée correspondante...)

Merci a tous

Cordialment
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 22h11   #7
Invité de passage
 
Homme
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 9
Points : 1
Points : 1
Par défaut re

Citation:
Envoyé par Arnaud B. Voir le message
Je te conseille de bien réfléchir avant de faire cela, car ça t'apportera des complications sur le long terme, notamment si tu dois avoir des paramètres communs aux différentes bases.

Personnellement je suis revenu en arrière et j'ai tout dans une seule base, en ayant adapté mes requêtes.

A voir selon le contexte.

Cdlt, Arnaud.
Bonjour Arnaud

il est evident qu'il y aura des parametres communs
En fait je voudrais faire un programme de comptabilite
les elements communs seront

- Le plan comptable general
- Les fichiers clients
- Les fichers Fournisseurs

- La table des utilisateurs qui proposera en fonction de l'utilisateur choisi sur les liste des dossiers autorisés

Le fait de créer une seule base de donnée et filtrer les ecritures en fonction du Dossier ne risque pas d'etre au détriment des performances ?

Comment vois-tu ce que j'envisage ??

Cordialement

P.Fournier
p.fournier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 01h05   #8
Membre chevronné
 
Avatar de wimbish
 
Homme Christophe Vibert
Développeur informatique
Inscription : octobre 2006
Messages : 292
Détails du profil
Informations personnelles :
Nom : Homme Christophe Vibert
Âge : 38
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2006
Messages : 292
Points : 632
Points : 632
Bonjour,

Suivant le nombre de tables, d'enregistrements et de dossiers, je vois deux solutions:
Soit tu ajoute une colonne "Dossier" dans chaque tables.
Soit tu utilise les alias, tu créer une table par dossier nommée tableX_dossierY pour pouvoir facilement les attaquer par le code.

D'autre aurons peut être de meilleures idées à te proposer.
wimbish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 01h42   #9
Invité de passage
 
Homme
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 9
Points : 1
Points : 1
Par défaut re

Citation:
Envoyé par wimbish Voir le message
Bonjour,

Suivant le nombre de tables, d'enregistrements et de dossiers, je vois deux solutions:
Soit tu ajoute une colonne "Dossier" dans chaque tables.
Soit tu utilise les alias, tu créer une table par dossier nommée tableX_dossierY pour pouvoir facilement les attaquer par le code.

D'autre aurons peut être de meilleures idées à te proposer.
C'est une bonne idée et je vais m'y pencher
Par contre l'utilisation des Alias n'est pas possible en Client / Serveur ?

Cordialement
P.Fournier
p.fournier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 13h12   #10
Membre actif
 
Patrick FREZE
Développeur informatique
Inscription : avril 2010
Messages : 126
Détails du profil
Informations personnelles :
Nom : Patrick FREZE

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2010
Messages : 126
Points : 171
Points : 171
Bonjour,

Je pencherais plus pour une unique table et des clés composées
incluant la rubrique Dossier.

Si un jour on vous demande une consolidation tous dossiers confondus,
ce sera plus facile.
Plus facile aussi pour la maintenance des données et l'écriture des requêtes.

Si multi-fichiers, je suppose qu'il faudra également maintenir
une table des dossiers existants.

Patrick
SevenSoftware est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 14h20   #11
Membre actif
 
Inscription : avril 2009
Messages : 305
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 305
Points : 172
Points : 172
Je confirme, étant sur une appli de compta, j'ai fait le basculement d'une analyse multi dossier vers une base unifiée, car trop c'était trop fastidieux à maintenir.

Avant on avait :
Racine serveur

FichierCommun.fic
Répertoire d'un cabinet
Répertoire du client.
Fichier_ecriturecomptable.fic
Pour finalement revenir à :

Table Cabinet.
IDCabinet (PK)
NomCabinet

Table Societe
IDSociete (PK)
NomSociete
IDCabinet (FK)

Table écriture comptable
IDhsitorique (PK)
IDsociété (FK)
rednight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 14h36   #12
Invité de passage
 
Homme
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 9
Points : 1
Points : 1
Par défaut re

Merci de vos experiences et de vos conseils

Je pense que je vais me tourner vers une table avec un champs dossier

Cordialement

P.Fournier
p.fournier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 17h30   #13
Membre chevronné
 
Inscription : mars 2002
Messages : 609
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2002
Messages : 609
Points : 761
Points : 761
En contrepartie, le gros inconvénient de "tout dans la même base", c'est quand on doit sauvegarder et surtout restaurer qu'une seule base pour une raison quelconque.
DelphiManiac est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 18h11   #14
Invité de passage
 
Homme
Inscription : février 2012
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 9
Points : 1
Points : 1
Par défaut re

C'est évident que lors de la sauvegarde ou meme la restauration on doit le faire sur un seul dossier
Il en est de même pour les interragations et requêtes : on doit tout balayer y compris ce que l'on n'a pas besoin

Je voudrais savoir quand même ce qu'en pense les programmeurs qui s'y sont confrontés

Cordialement

P.Fournier
p.fournier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 18h43   #15
Membre actif
 
Patrick FREZE
Développeur informatique
Inscription : avril 2010
Messages : 126
Détails du profil
Informations personnelles :
Nom : Patrick FREZE

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2010
Messages : 126
Points : 171
Points : 171
Bonjour,

Pour la restauration d'un seul dossier, il faudra prévoir un module ad-hoc
(restaurer le fichier complet ailleurs et faire un prog qui utilise les alias pour
basculer le dossier restauré vers le fichier en prod)

Pour la question des performances, si la BDD comporte les bonnes clés d'index,
et des requêtes SQL qui ne mettent pas trop l'optimiseur HF en défaut (c'est là que ça se complique !), on ne "balaye" pas tout.

Si quand bien même les perfs sont mauvaises (très gros volumes), c'est que HyperFile n'est pas adapté au projet ou que le serveur est sous dimensionné.

Patrick
SevenSoftware est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 23h05   #16
Membre confirmé
 
Homme Arnaud Benhamdine
Directeur technique
Inscription : octobre 2004
Messages : 157
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Benhamdine
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2004
Messages : 157
Points : 263
Points : 263
Nous avons repassé toute l'appli de comptabilité/paye en 1 seule base : c'était devenu trop contraignant d'avoir des paramètres partagés.

Notamment parce que nous avions fait le choix d'avoir tous les paramètres communs dans une base séparée, et que malheureusement nous nous sommes rendus compte qu'Hyperfile ne peut pas gérer les contraintes de clés étrangères entre tables de bases différentes.

C'est piégeux car pas de message d'erreur lors du WDmodif, mais HF s'emmêle ensuite les pinceaux sur les liaisons entres les différentes bases.

Quoiqu'il en soit, aucun regret à être revenu en monobase : aucune perte de performance avec les bons index.

Il vaut mieux faire ce choix dès le début car sinon il faut ensuite modifier toutes les requêtes... très très long et fastidieux.

A+, Arnaud.

Citation:
Envoyé par p.fournier Voir le message
C'est évident que lors de la sauvegarde ou meme la restauration on doit le faire sur un seul dossier
Il en est de même pour les interragations et requêtes : on doit tout balayer y compris ce que l'on n'a pas besoin

Je voudrais savoir quand même ce qu'en pense les programmeurs qui s'y sont confrontés

Cordialement

P.Fournier
Arnaud B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h08.


 
 
 
 
Partenaires

Hébergement Web