IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Connexion a une base de donnees


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 33
    Points : 34
    Points
    34
    Par défaut Connexion a une base de donnees
    Bonjour,
    Supposons que je sois dans une application Client/Serveur qui utilise le contrôle Winsock, où seul le serveur accède à la base de données. Peut-on considérer que le nombre de clients correspond au nombre de connexions à la base de donnée ?
    Lorsque je me mets dans le cas où le serveur reçoit des paramètres de chaque client, puis se charge des requêtes en direction de la base de données, est-il judicieux d'utiliser une base de données Access ou bien est-il préférable de choisir un vrai SGDB (selon le budget : Firebird, Postgresql, etc...).
    Le nombre de client pourrait monter à 50.

    Merci pour vos contributions.

    Meilleures salutations

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Dans ce cas de figure, un seul programme accède à la base de données. Une base access conviendrait parfaitement. par contre, bonjour la programmation du programme serveur.Cà va pas etre facile à mettre au point, mais c'est possible.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 33
    Points : 34
    Points
    34
    Par défaut
    donc le plus simple serait de laisser chaque client se connecter à la base pour faire sa requête. Et par voie de consséquence, une base Access ne conviendrait plus !

  4. #4
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Access peux le faire, mais avec 50 utilisateurs connectés simultanement, ca va ramer un peu

    en fait avec access, c'est comme si 50 postes accèdaient au meme fichier situé sur un serveur.

    avec une base client/serveur, c'est un seul programme qui accède a base, extrait/ajoute/modifie les infos de la base et qui transmet les resultats aux demandeurs. en fait, excatement ce que tu envisageais de faire

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 33
    Points : 34
    Points
    34
    Par défaut
    EN fait, j'avais déjà une application où un dizaine de clients se connectent chacun à la base de données Access sur le serveur. mais le probleme que j'ai rencontré est celui de la corruption très fréquente de la BD. or il n'y a pas moyen de récupérer la DB Access corrompue lorsqu'elle est protégée par un mot de passe (Indispensable). c'est ce qui me fait envisager les deux options suivante :
    1- Continuer dans la meme logique en changeant de DB (gratuite de préférence)
    2- Entrer dans la logique du Client/Serveur en gardant Access.
    Je suppose que dans le second cas, l'accès étant unique, il n'y aura plus ou presque plus des problèmes de corruption.

  6. #6
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    sais tu ce qui provoquait le crash de la base ? j'ai personellment beaucoup d'applis qui utilisent access en multiutilisateurs et n'ai pas ce probleme.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 33
    Points : 34
    Points
    34
    Par défaut
    je crois que c'est essentiellement lié à des arrêts brusques des postes client et/ou la qualité du réseaux.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Crash base
    Bonjour,
    J'ai également une application client serveur développé en VB6 qui accède à une base Access situé sur un des postes.

    Je rencontre le même problème récurent de perte de données et de corruption de la base quand plusieurs utilisateurs se connectent chacun à la base de données.

    Après réparation de la base, il y a pertes de relations ainsi que de données.

    Je ne parviens pas à identifier le problème ! Y aurait-il d'autres cas qui ferraient crasher la base que des problèmes de réseau ou d'arrêt brusque de postes clients ?

    A chaque fermeture de l'appli client, je réalise une copie de sauvagarde de la base sur le poste local.

    PS: désolé si je ne suis pas dans la bonne section.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Citation Envoyé par Delbeke Voir le message
    sais tu ce qui provoquait le crash de la base ? j'ai personellment beaucoup d'applis qui utilisent access en multiutilisateurs et n'ai pas ce probleme.
    Tu inclus les procédures de compactages/réparation de bases (DAO) dans tes applis Delbeke ?

    La base .mdb est très sensible aux micro-coupures réseau ou autres arrêts intempestifs et se corrompt facilement (tout comme elle se répare), en tout cas de ce que j'ai pu connaître (avec un accès DAO cependant). Je ne les utilise plus que comme des spools d'impression (en local uniquement).

  10. #10
    Membre habitué
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Points : 168
    Points
    168
    Par défaut
    j'ai vecu un tel problème ca fait logtemps et si mes souvenirs sont bonnes je l'ai résolu ainsi:
    1- j'utilise une BD sur le serveur
    2- j'utilise une BD temporaire chez le client
    3- je fais le transfert de donnée entre les deux bases aprés un test de connexion réseau sinon les données reste sauvegardé en local.
    4- j'effectue des opération de compatage et réparation à chaque fermeture de la base.

    D'ou la BD ne cracherai plus.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    De mon côté je réalise bien une réparation/compactage de la Base a chaque ouverture de l'appli mais elle ne peut se faire uniquement dans le cas ou aucune appli n'accède à la base.

    Une des solutions pourrait être de vérifier la connexion réseau avant chaque tentative d'accès à la base si j'ai bien compris. Ca fait un paquet d'accès réseau tout ça !

    D'autres options ?

    J'ai pu lire au support microsoft http://support.microsoft.com/kb/300216/ que si la base était sur un réseau avec des clients 98 et Xp ou 2000 et que la base est sur un poste 98 alors il peut y avoir des problèmes !

  12. #12
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Tu inclus les procédures de compactages/réparation de bases (DAO) dans tes applis Delbeke ?
    vi,vi , mais ca sert vraiement tres rarement

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 925
    Points
    55 925
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Citation Envoyé par Sharkus
    Bonjour,
    J'ai également une application client serveur développé en VB6 qui accède à une base Access situé sur un des postes.
    Attention. Il n'y a aucune possibilité de travailler en client/serveur avec Access.

    Il y a, tout au plus, moyen de partager une base de données Access, mais ce n'est pas du tout comparable à un système Client/Serveur.

    Avec Access, c'est chaque poste client qui fait tout le travail, et il n'y a aucun serveur de données.

  14. #14
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    En fait , il y a une technique. Utiliser une base access qui sert de relais. La veritable base de données etant une base client /serveur et les tables de la base Access n'etant que des tables liées.
    C'est batard, mais ca fonctionne.

Discussions similaires

  1. Connexion D'une Base De Donnee Avec Dreamweaver
    Par pacoj dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 23/02/2007, 03h45
  2. Probleme connexion a une base de donnees mysql distantes
    Par hlimaiem dans le forum Installation
    Réponses: 8
    Dernier message: 11/10/2006, 10h03
  3. Réponses: 6
    Dernier message: 11/10/2006, 09h43
  4. [Conception] Connexion a une base de donnees
    Par Chromatic dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/02/2006, 15h54
  5. [sgbd] connexion à une base de données distante
    Par mickey02 dans le forum SGBD
    Réponses: 3
    Dernier message: 17/03/2005, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo