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 : 70
    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.
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  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 : 70
    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
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  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 : 70
    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.
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  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.
    Il ne faut jamais désesperer, il y a toujours une solution.

  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 : 70
    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
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    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 122
    Points : 55 927
    Points
    55 927
    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.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  14. #14
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    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.
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

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