Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : MySQL en réseau local ??? [ Base de données / ADO & DAO ] (globule)

vendredi 23 juin 2006 à 14:35:08 | MySQL en réseau local ???

globule

Bonjour,

 Je voudrais utiliser MySQL en réseau avec ADO et VB6

On m’a déjà bien aidé ce matin sur ce forum en m'indiquant le code ci dessous.
Cependant je me pose deux interrogations.

J'ai plusieurs postes sur un réseau LOCAL (pas internet)
J'ai installé MySQL server 5 sur mon poste et le driver connector-odbc-3.51.12
Mes postes sont partagés.

Comment transformer ce code (adapté au serveur), pour qu'il fonctionne sur un poste client : En gros, que faut il indiquer dans
"SERVER=??????;"
Il faut que cela soit simple, car mes clients ne sauront pas indiquer une adresse IP

De plus comment integrer la gestion des transactions dans ce code (pour éviter que ça plante en réseau)

Enfin, faut il modifier quelque chose pour prendre en charge la gestion innoDB (sachant que j'ai installé la dernière version de MySQL sur tous les postes)

Merci




Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset


Private Sub Command1_Click()
   
   
    'For Cpt = 0 To 5
       Set rs = New ADODB.Recordset
       
       rs.Open "INSERT INTO INSCRIPTION(NOM,POSTNOM) values('" + Text1.Text + "','" + Text2.Text + "' )", conn, adOpenStatic, adLockOptimistic
   
       'rs.Close
       Set rs = Nothing
    'Next
    MsgBox "terminé"
   

    
End Sub

Private Sub Form_Load()
    Set conn = New ADODB.Connection
    
    conn.CursorLocation = adUseClient
    conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
            & "SERVER=localhost;" _
            & "DATABASE=MABASE;" _
            & "UID=root;" _
            & "PWD=monpassword;" _
            & "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384
 
    conn.Open

End Sub

Private Sub Form_Unload(Cancel As Integer)
    ' Fermeture de la base
    conn.Close
    Set conn = Nothing
End Sub


vendredi 23 juin 2006 à 19:05:17 | Re : MySQL en réseau local ???

jack

Administrateur CodeS-SourceS
Salut
Plusieurs problèmes :
- Ta connexion au poste serveur :
Le serveur est le nom sur le réseau ethernet (et pas internet comme tu le dis).
L'appellation standard est l'adresse IP de cette machine.
Tu peux aussi utiliser l'appellation UNC de la machine, c'est à dire le nom de baptème tel que défini dans les paramètres réseau (exemple : PC582)

Si tu peux faire tourner un programme sur ta machine Serveur, regarde cette source (clique ici) qui permet de rechercher l'adresse IP de la machine qui héberge ton serveur.

- MySQL :
De mémoire, dans le paramétrage du serveur MySQL, il faut mettre en commentaire ou supprimer la ligne "bind", ce qui permet au serveur de répondre à n'importe quelle machine et pas seulement à celle désignée comme administratrice.
Si ta connexion depuis une machine externe au serveur ne fonctionne pas, modifie ce paramètre + Fais des recherches de MySQL dans le forum.

- Ton code :
Pour faire un Insert Into (ou un Delete), il ne faut pas utiliser de RecordSet.
Simplement   maConn.Execute
Info que tu aurasi trouvé dans n'importe quelle source du site parlant de ADO.

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

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

vendredi 23 juin 2006 à 19:18:26 | Re : MySQL en réseau local ???

globule


Merci beaucoup


Mais ou trouve t'on cette appellation UNC ?
Car j'ai essayé le nom de mon serveur que je trouve sur le réseau (XP), mais ca ne fonctionne pas.

Par exemple, si à partir d’un poste client je vois sur le réseau « POSTE52 »

J’essaye "SERVER= POSTE52;"

Mais ca ne fonctionne pas

Si j’essaye avec l’IP du POSTE52, ça fonctionne


samedi 24 juin 2006 à 15:44:30 | Re : MySQL en réseau local ???

jack

Administrateur CodeS-SourceS
Non, renseigne toi sur la conversion UNC - nom de disque/volume - IP.
L'appellation UNC s'emploie comme ceci :    Chemin = "\\NomUNC\NomDisque\Sous-Répertoire\Fichier

Regarde aussi du côté du "voisinage réseau" dans la recherche des codes sur vbfrance. Des choses bien intéressantes, comme celle-ci : clique ici.

As-tu regardé la source du 'chercheur automatique de serveur' que je t'ai proposée ?
Elle pourrait répondre à ta demande si tu peux faire tourner en permanence un petit exe 'balise' sur le poste qui héberge la DB à laquelle tu dois accéder.

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

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

samedi 24 juin 2006 à 15:52:13 | Re : MySQL en réseau local ???

jack

Administrateur CodeS-SourceS
En explicatif de ce 'chercheur automatique de serveur' :
Le principe :
Chercher un serveur en envoyant une requète sur tous les ports X de toutes les machines du réseau (X est un port de 1 à 65535 convenu d'avance)
Une fois que le serveur a reçu cette demande (car il est en écoute sur ce port X), il répond à l'expéditeur (le client). Dans sa réponse, il y a son adresse IP.
Facile ensuite au client d'utiliser cette adresse pour se connecter

Par souci d'assurance, le serveur ne répond que si dans la demande il y a un mot clé comme son propre nom d'application. Comme ça on est sûr que ce n'est que notre serveur qui répondra.

C'est le système utilisé par les jeux en réseau pour s'auto-détecter.

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

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

samedi 24 juin 2006 à 15:53:45 | Re : MySQL en réseau local ???

jack

Administrateur CodeS-SourceS
(après j'arrête)
Cette technique a l'avantage de ne rien demandé à l'utilisateur, le client trouvant son serveur automatiquement.



Cette discussion est classé dans : mysql, réseau, rs, adodb, conn


Répondre à ce message

Sujets en rapport avec ce message

Connexion a une base de donnee access ?!? [ par dave ] J'essaye de lire le contenu d'une base de donnee et ca ne marche pas pourquoi ?J'ai bien coche --> Microsoft ActiveX Data Objects 2.1 LibraryPrivate S prob avec fichier d'info du groupe de travail [ par euchbit ] Bonjour!Quand j'execute le code suivant :Dim rs As ADODB.RecordsetDim Conn As ADODB.ConnectionSet Conn = New ADODB.ConnectionConn.Open "provider=micro prob avec fichier d'info du groupe de travail [ par euchbit ] Bonjour!Quand j'execute le code suivant :Dim rs As ADODB.RecordsetDim Conn As ADODB.ConnectionSet Conn = New ADODB.ConnectionConn.Open "provider=micro connection connection oh connection [ par evilrico ] bijourvoici mon problème:message d'erreur :type defini par l'utilisateur non défini et ce message je l'obtiens en cliquant sur un bouton dont le code mysql odbc connection réseau [ par fd ] Bonjour,J'ai installé une base mysql sous linux et je me connecte depuis un poste du réseau local par la chaine suivante :Public Sub Init()  Dim conn Datareport [ par Goth25 ] Bonjours a tous, j'ai un petit problème avec mon datareport. J'utilise Vb6.J'aimerais pouvoir afficher le contenu d'une table access dans mon datarepo Procedure de connexion [ par magicientarik ] salut j'ai créer un module que je met dedant ma procedure de connexion je l'ecrit de cette façon :code Vb:Sub connexion(rs As ADODB.Recordset)Dim conn connexion msql [ par Medgueye ] Bonjour j'ai un problem;je veux me sur une base mysql est voici le code écrit:Dim conn As ADODB.Connection    Set conn = New ADODB.Connection         word + mysql [ par droopyv ] bonjour a vous,  j'ai un soucis pour inserer des variables qui viennent de word  dans une base mysql, j'arrive à mettre des  toutes sortes de choses m MYSQL 5.0.51a avec ODBC [ par FRatvks ] Bonjour,j'ai un problème avec le dernier pack mysql  5.0.51a : mon programme refuse la connection à la baseJe pensai que c'etait un probleme lié au fa


Nos sponsors

Sondage...

CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.