Connection et différentes actions dans une BDD access par winsock

muzele Messages postés 5 Date d'inscription samedi 2 juin 2007 Statut Membre Dernière intervention 13 août 2007 - 10 août 2007 à 19:33
olivemanlastar Messages postés 2 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 2 avril 2012 - 2 avril 2012 à 15:39
Bonsoir,
Au fait j'écris un programme en VB6 qui devrait fonctionner en réseau ! Donc la base de donner se trouve sur un ordinateur X de mon réseau LAN et à partir d'un poste Y, Z, ... j'installe mon programe client qui devrait se connecter à la BDD access qui se trouve sur mon poste X sans oublier qu'il peut bien y avoir plusieurs utilisateurs connecter en même temps à la base de donner.
J'ai déja écris le programme mais j'ai définit manuellement le chemin de la BDD donc pas besoin de winsock ou d'un programme serveur! dès je lance mon prog il se connecte directement! le probleme est que le dossier dans lequel se trouve la BDD doit être partagé et si le poste sur lequel est la BDD n'accepte pas les connections entrantes alors je suis foutu !
Voila pourquoi je voudrais savoir si quelqu'un pourrais m'aider à coder avec le controle WINSOCk de manière a ce que je puisse effectuer différentes actions dans la BDD tel que l'enregistrement, la lecture, le chargement des combos, pratiquement tout !
Merci bien pour votre aide ! a bientot !

<!-- / message -->

6 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
11 août 2007 à 00:16
Salut
J'ai un programme pro qui utilise la structure suivantes :
La DB est gérée uniquement par le serveur.
Les clients se connectent au serveur.
Les clients demandent des infos issues de la DB au serveur qui leur répond.
De cette manière, la DB n'appartient qu'à un poste.
A l'époque où j'ai commencé cette aplication, les SQL servers étaient trop complexes (et chers) et cette solution m'a parue la plus sereine.

Il va falloir te familiariser avec les Winsocks.
C'est simple, mais il faut bien comprendre le mécanisme d'émission / réception de données.
Pour cela, je te conseille de charger des exemples de programmes de Chat et de regardé comment s'est fait, et de regarder quelques questions / réponses sur le forum : mots clés "chat", "winsock" ou "connexion".

Pour info, pour permettre aux clients de trouver le serveur sans avoir besoin de saisir l'adresse IP (qui dans mon cas n'était pas fixe), j'ai développé ce système de recherche de serveur automatique :
http://www.vbfrance.com/codes/OCX-CHERCHEUR-AUTOMATIQUE-SERVEUR_22252.aspx

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
muzele Messages postés 5 Date d'inscription samedi 2 juin 2007 Statut Membre Dernière intervention 13 août 2007
13 août 2007 à 17:28
Hey Jack !
Salut et merçi pour ta réponse ! J'ai fait plusieurs recherche sur le winsock et me suis suffisament exercer avec des chats en local, des chutdowns, des opendevices mais je n'arrive pas à le faire avec une bdd access ! le dernier truc que je sois arriver à faire est de me connecter à une bdd access avec un compte et un mot de passe préenregistrer sur l'une de table de la bdd (par winsock bien sur) mais pour ce qui est de l'enregistrement , lecture, intérrogation, chargement des combos et etc. je ne fais que me planter ! Si quelque pourrai me grandir les idées dans ce sens la! cela m'aiderais vraiment car c tout ce qui me reste à faire dans mon programme !
merci d'avance !
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 août 2007 à 18:32
Re
Sépare les tâches que tu as à faire parce que tu mélanges tout :

- Connexion d'un programme à la DB :
C'est ce que le serveur fera (et uniquement lui)
C'est lui qui interrogera la DB et renverra les résultats aux clients
C'est lui qui insèrera de nouvelles données forunies par les clients
C'est lui qui supprimera d'éventuelles données

- Liaison entre les clients et le serveur :
Les Winsocks permettront aux clients de fournir les paramètres des requètes SQL que le serveur exécutera.
C'est là qu'il faut affiner la structure des échanges entre clients et serveur.
Par exemple :
ClientWinsock.SendData "Insère fiche recette|Melon au porto|1 melon|3 litres de porto|une petite cuillère|Fin|"
et le serveur devra comprendre la commande générale "Insère fiche recette", devra comprendre que "Melon au porto" est le nom de la fiche et que les autres éléments sont les ingrédients ... Ca, c'est à toi d'inventer le langage entre tes clients et le serveur (d'où l'intérêt de s'entrainer avec un Chat où les problèmes sont les mêmes).

En aucun cas on ne peut utiliser les Winsocks pour se connecter directement à une DB, ça n'a pas de sens.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
muzele Messages postés 5 Date d'inscription samedi 2 juin 2007 Statut Membre Dernière intervention 13 août 2007
13 août 2007 à 20:50
Hey l'ami !
je comprend mieux maintenant, je vois ce qu'il faudraisd faire ! alors juste le temps pour moi de faire un petit essai et je te dirai quoi !
Merci encore !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_olivier12 Messages postés 1 Date d'inscription mardi 4 avril 2006 Statut Membre Dernière intervention 26 septembre 2007
26 sept. 2007 à 14:54
Je suis en train de dévolopper une apli en client/serveur, je galere, est-ce tu pourrait me poster tes sources pour que je puisse m'en sortir.

Merci

Olivier12
0
olivemanlastar Messages postés 2 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 2 avril 2012
2 avril 2012 à 15:39
cadolivie
salut a tous
j’écris un programme client serveur. mon application doit permettre a tous les clients connecter d'enregistrer des informations dans la base de donnée du serveur distant. j’utilise vb 2010 avec pour base de donnée access. je ne maitrise rien sur le winsock c'est maintenant j’apprends. j'arrive juste a etablir la connection et a envoyer des messages mais our la base de donnée je sais que faire si vous pouver m'aider
merci
0
Rejoignez-nous