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

Access Discussion :

[DDE]Telnet sur Access


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 62
    Points : 36
    Points
    36
    Par défaut Telnet sur Access
    Bonjour,

    j'aimerai développer une application Access qui se connecte à un serveur Unix via Telnet pour lancer des commandes et récupérer le résultat dans un champ de formulaire.

    on m'a parlé de winsock mais je peux pas l'utilisé : il me dit que je n'ai pas la licence pour utiliser cet objet.

    y' a-t-il une autre solution svp ?

    merci à tous.

  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    telnet s'utilise en ligne de commande !

    Tu ne peux pas faire un batch qui te retourne les données dans un fichier que tu intègres ensuite ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Maxence HUBICHE
    telnet s'utilise en ligne de commande !

    Tu ne peux pas faire un batch qui te retourne les données dans un fichier que tu intègres ensuite ?
    je veux faire un truc interactif

  4. #4
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Tu peux ouvrir une session telnet via API mais pour ce faire il faut commencer par se connecter en utilisant les RAS Windows. Cela aussi tu peux le piloter (Ouverture /Fermeture) grâce aux API.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Toftof
    Tu peux ouvrir une session telnet via API mais pour ce faire il faut commencer par se connecter en utilisant les RAS Windows. Cela aussi tu peux le piloter (Ouverture /Fermeture) grâce aux API.

    Comment faire stp, je ne comprends pas, c'est quoi les RAS Windows ?

    merci

  6. #6
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Les RAS pour "Remote Access Services".
    Pour ma part j'ai créé plusieurs modules pour les gérer (puisque tout se passe dans un fichier), pour les utiliser, pour faire du telnet dessus.

    Si cela t'intéresse, en fouillant dan smes archives, je devrais retrouver tout cela mais, désolé, pour aujourd'hui j'ai un truc tendu sur le feu.
    J'espère être plus disponible demain.

  7. #7
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Alors Karimspace,

    Tu n'as pas mis le flag "RESOLU"; j'en conclue que tu n'as pas fini mais où en es-tu ?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Toftof
    Alors Karimspace,

    Tu n'as pas mis le flag "RESOLU"; j'en conclue que tu n'as pas fini mais où en es-tu ?

    j'ai toujours pas résolu mon problème, j'aimerai bien avoir un exemple avec les RAS

    merci bien.

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Pourquoi as-tu préfixé l'intitulé du message avec [DDE] ?
    Tu pensais à quelque chose en particulier ?

    Citation Envoyé par karimspace
    on m'a parlé de winsock mais je peux pas l'utilisé : il me dit que je n'ai pas la licence pour utiliser cet objet.

    y' a-t-il une autre solution svp ?
    Tu trouveras surement ton bonheur sur l'internet...
    Par exemple une bibliothèque VB qui t'offre une classe "compatible" avec le contrôle Winsock de M$ mais sans aucun Pb de licence...
    http://www.killervb.com/WinsockLib.aspx
    (fonctionne correctement en TCP sur lequel se base TELNET).

    (en passant, KillerVB c'est un super site !!!)

    Citation Envoyé par karimspace
    j'aimerai développer une application Access qui se connecte à un serveur Unix via Telnet pour lancer des commandes et récupérer le résultat dans un champ de formulaire.
    Je vais te confier mon expérience.

    Après avoir planché sur Winsock/TELNET, je me suis rabattu sur Winsock/RLOGIN.

    En effet, le protocole TELNET est assez compliqué, en particulier en ce qui concerne la phase initiale de négociation. Pour exécuter des procédures à distance, TELNET n'apporte aucun avantage.

    En revanche, le protocole RLOGIN (généralement disponible sur les UNIX/LINUX via le démon rlogin) est beaucoup plus simple à implémenter.
    Néanmoins, ça reste un travail d'analyse/développement assez complexe et long.

    Pour des raisons de sécurité, les modernes te diront d'oublier RLOGIN et d'utiliser SSH, mais là je ne peux pas t'en dire plus.

    Citation Envoyé par Toftof
    Les RAS pour "Remote Access Services".
    Pour ma part j'ai créé plusieurs modules pour les gérer (puisque tout se passe dans un fichier), pour les utiliser, pour faire du telnet dessus.

    Si cela t'intéresse, en fouillant dan smes archives, je devrais retrouver tout cela [...]
    Moi aussi, je suis intéressé de voir une telle mise en oeuvre ...

  10. #10
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Désolé pour le retard mais il y a des jours où certaines choses ne veulent vraiment pas se montrer compréhensives.

    Voici pour les sessions FTP
    Fichiers attachés Fichiers attachés

  11. #11
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Comme je le disais, pour pouvoir faire du FTP, il faut avoir monté préalablement la couche IP.
    Lorsque nous sommes en réseau Ethernet, pas de soucis, c'est déjà là.
    Par contre, lorsque l'on se connecte via modem, et bien il faut s'en occuper.
    Alors reste le choix:
    * Soit on utilise des sockets et là, je trouve chaud surtout dans mon cas avec Access 97 sous W2K.
    * Soit on utilise les fonctionnalités de Windows et on laisse gérer tout ce beau monde par les RAS.

    Pour la deuxième option, voici le module que j'ai créer pour l'ensemble de mes aplpications. En en-tête figurent les pré-requis qui sont pour la plupart d'autres modules développés par mes soins. Les erreurs en référence sont celles que je gère dans ma table des erreurs.
    Bien entendu, vous pouvez préférer les créer voire les lancer et éteindre en manuel.
    Pour les questions complémentaires, je reste à votre disposition

  12. #12
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    J'ai merdu dans l'attachement, je recommence
    Fichiers attachés Fichiers attachés

  13. #13
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Excusez-moi tous mais en ce moment j'ai du mal à me réveiller. Je viens de relire le premier post et je réalise que je donne un tuyau percé : pour le TELNET, j'ai renoncé à l'utiliser avec Access et cela marche très bien en mode console. Je suis passé par un développement avec VB.NET en utilisant un objet rs232.
    Encore désolé pour la méprise

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Tout d'abord merci beaucoup de votre aide

    Pourquoi as-tu préfixé l'intitulé du message avec [DDE] ?
    ce n'est pas moi qui ai mis cette note : DDE

    Par exemple une bibliothèque VB qui t'offre une classe "compatible" avec le contrôle Winsock de M$ mais sans aucun Pb de licence...
    je ne sais pas quoi importer, j'ai essayé d'importer le code dans une application access, mais ça ne compile pas

    Après avoir planché sur Winsock/TELNET, je me suis rabattu sur Winsock/RLOGIN.
    En ce qui me concerne, j'ai un serveur Telnet à ma disposition seulement, je sais pas si c'est possible de faire du RLOGIN.

    Conclusion, je n'arrive toujours pas à faire fonctionner du telnet sur une application Access 2002

  15. #15
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Citation Envoyé par karimspace
    je ne sais pas quoi importer, j'ai essayé d'importer le code dans une application access, mais ça ne compile pas
    Dans la page de la bibliothèque, tu dois télécharger le fichier ZIP accessible à partir du lien situé sur la droite (cherche The Code ).
    Sinon je te donne le lien qui va bien :
    http://www.killervb.com/Download.aspx?FileId=WinsockLib

    Dans ce fichier ZIP, tu dois récupérer le composant DLL ActiveX kvbWinsockLib.dll que tu enregistreras au choix dans le même dossier que ton projet, ou bien dans un dossier spécifique de Windows où les ActiveX DLL sont habituellement stockés (par exemple, C:\WINNT\system32).
    Avant de pouvoir référencer l'ActiveX DLL dans ton projet MDB, tu dois enregistrer ce fichier DLL dans Windows (dans la base de registre) avec la commande regsvr32, via l'invite de commandes.

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regsvr32 C:\WINNT\system32\kvbWinsockLib.dll
    (le reste du fichier ZIP c'est le code source du projet VB nécessaire pour générer le fichier DLL, ainsi qu'un exemple complet de programme de Chat !)

    Citation Envoyé par karimspace
    En ce qui me concerne, j'ai un serveur Telnet à ma disposition seulement, je sais pas si c'est possible de faire du RLOGIN.
    Pour tester à distance si le serveur RLOGIN fonctionne, tu peux passer par ton serveur TELNET (je sais, c'est un peu tiré par les cheveux ).

    Lance une session telnet sur ton hôte UNIX.
    Dans cette session, exécute la commande rlogin. Supposons que ton hôte UNIX a comme adresse IP 10.10.10.10:
    Si le serveur RLOGIN fonctionne, il devrait juste de demander ton mot de passe (le comportement peut varier) puis démarrer un nouveau shell.
    Avec la commande exit tu quittes le shell RLOGIN pour revenir dans la session TELNET.

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Merci beaucoup pour votre aide, mais ...

    j'ai réussi à télécharger le fichier à paretir du lien http://www.killervb.com/Download.aspx?FileId=WinsockLib

    j'ai testé le chat, il fonctionne bien.

    J'ai enregistré la dll et j'ai ajouté importé les fichier suivants dans mon projet MS Access :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    C WinSock.Cls
    I WinSockEvents.Cls
    M Common.Small.Bas
    M WinSock.Bas
    j'ai essayé de compiler mais il me donne des erreurs :
    que j'ai remplacé par et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .hInstance = App.hInstance
    que j'ai commenté, il compile enfin.

    mais comment faire appel à toutes ces fonctions ?? je n'arrive pas à implémenter l'interface dans un formulaire Access.

  17. #17
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,
    Citation Envoyé par karimspace
    J'ai enregistré la dll et j'ai ajouté importé les fichier suivants dans mon projet MS Access :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    C WinSock.Cls
    I WinSockEvents.Cls
    M Common.Small.Bas
    M WinSock.Bas
    Tu n'as besoin que de la DLL.

    Je vais t'aider un peu plus, mais après, à toi de prendre les choses en main...

    Voici un article qui présente un exemple d'utilisation du contrôle Winsock (ActiveX) avec Access :
    http://support.microsoft.com/kb/209905/en-us

    Code source d'une petite application client rlogin (VB6) basée sur le contrôle Winsock:
    http://www.Planet-Source-Code.com/vb...45425&lngWId=1

    A la place du composant ActiveX qui fournit le contrôle Winsock, il est donc possible d'utiliser la DLL ActiveX de KillerVB.
    Pour qu'elle soit utilisable dans un projet MDB, il faut la référencer.
    Pour celà, dans l'environnement de développement VB, exécuter la commande Outils>>Références.
    Dans la liste des références disponibles il faut chercher et sélectionner "KillerVB WinsockLib".

    Ensuite dans le projet MDB, il faut créer un module de code (indépendant ou de formulaire ou même un module de classe) dans lequel il faut déclarer une variable qui référence un objet Winsock et bien sur créer une instance.

    Attention: pour prendre en charge les événements (mot clé WithEvents), l'objet Winsock doit être créé dans un module de formulaire ou de classe.

    Exemple de création dans un module de code de formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim WithEvents oWinsock As kvbWinsockLib.Winsock
     
    Private Sub Form_Open(Cancel As Integer)
        Set oWinsock = New kvbWinsockLib.Winsock
    End Sub
    Un objet Winsock de KillerVB WinsockLib est quasi-compatible avec le contrôle Winsock de Microsoft.

    Une différence importante est la fermeture de connexion qui est implémentée par la méthode CloseConnection au lieu de la méthode Close (de même, le nom l'événement associé à la fermeture de la connexion est CloseConnection au lieu de Close).

    Autre différence importante (je le re-re-re-dis au cas où ça aurait échappé à certains ) : ce n'est pas un contrôle ActiveX !
    Il n'est pas nécessaire (ni possible) de "créer" un contrôle KillerVB Winsock sur un formulaire. Il faut obligatoirement programmer en VBA la création d'une instance d'un objet KillerVB Winsock, comme expliqué ci-dessus.

    On peut se rapporter au site "MSDN Library" pour une documentation de référence sur le contrôle Winsock livré avec VB6.
    http://msdn2.microsoft.com/en-us/lib...19(VS.60).aspx

    Mise en garde sur l'implémentation du protocole TELNET:
    C'est un travail assez ardu que je déconseille à tous si le temps de développement est limité.
    Franchement, pour une utilisation professionnelle en entreprise, je recommande plutôt d'acheter un composant logiciel qui implémente le protocole TELNET.
    Investir dans tel composant se révèle au final une bonne opération (fonctionnalités, fiabilité, économie de temps d'études et de développement, moins d'heures sups, moins de café nécessaire... ).

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    j'ai tout essayé, soit je suis une grosse m..de, soit il y a un truc qui cloche...

    1) mon rlogin fonctionne bien : une fois sur telnet :


    2) j'ai ajouté uniquement la DLL mais rien ne complie, je suis tjours obligé de bidouiller pour que ça compile.

    3) Je précise que je n'ai pas visual studio, uniquement VBA access.

    4) je ne comprend pas comment connecter à telnet sans lui donner un login et mot de passe

    5) j'ai essayé dimplémenter l'exemple que tu m'as donné, mais il ne fonctionne pas : en pièce jointe

    6) Je m'arrache les cheveux sur un truc qui doit être pas trop difficile
    Fichiers attachés Fichiers attachés

  19. #19
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,


    Heu je ne suis pas un spécialiste mais dans ton exemple... tu n'as pas oublié de déclarer l'objet avec un WithEvents ?

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par mout1234
    Bonjour,


    Heu je ne suis pas un spécialiste mais dans ton exemple... tu n'as pas oublié de déclarer l'objet avec un WithEvents ?
    surement, mais comment faire alors ?

Discussions similaires

  1. Macro sur Access
    Par beurnoir dans le forum Access
    Réponses: 1
    Dernier message: 01/10/2005, 18h10
  2. appel des états sur access
    Par jamesys dans le forum IHM
    Réponses: 2
    Dernier message: 14/09/2005, 10h56
  3. Enregistrement clé effacée sur ACCESS
    Par gastonbach dans le forum Bases de données
    Réponses: 2
    Dernier message: 26/05/2005, 12h51
  4. budget sur access
    Par sarastro dans le forum Access
    Réponses: 15
    Dernier message: 28/10/2004, 20h52
  5. Question géneral sur access en réseau
    Par nenette dans le forum Sécurité
    Réponses: 15
    Dernier message: 19/10/2004, 19h46

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