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

Windows Forms Discussion :

[VB2005] Connection et recherche sur un ldap


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut [VB2005] Connection et recherche sur un ldap
    Bonjour,

    j'essaie de développer un petit programme en VB (.net 2005) qui se connetera sur un arbre x500 en ldap (pas l'AD) et fera des recherches.

    pour le moment, j'arrive à m'y connecter (si je mets un mauvais mot de passe, j'ai un message d'erreur de connection, donc c'est bon).

    par contre, lors de la recherche, j'ai une erreur du type "table does not exist".

    je vous donne le code....

    toute aide est biensur la bienvenue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
            Const ADS_SCOPE_SUBTREE = 2
            Dim objConnection, objCommand, objRecordSet
     
            Dim strPath
            Dim strUsername
            Dim strPassword
            Dim adsNamespaceLDAP
            Dim adsMyObject
            strPath = "LDAP://monserveur/o=cmp"
            strUsername = "cn=admin,o=cmp"
            strPassword = "cmppass"
            adsNamespaceLDAP = GetObject("LDAP:")
            adsMyObject = adsNamespaceLDAP.OpenDSObject(strPath, strUsername, strPassword, 0)
     
            objConnection = CreateObject("ADODB.Connection")
            objCommand = CreateObject("ADODB.Command")
            objConnection.Provider = "ADsDSOObject"
            objConnection.Open("Active Directory Provider")
            objCommand.ActiveConnection = objConnection
            objCommand.commandText = "<LDAP://monserveur/o=cmp>;(sn=tintin);sn;subTree"
     
            objCommand.Properties("Page Size") = 1000
            objCommand.Properties("Timeout") = 30
            objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
            objCommand.Properties("Cache Results") = False
            objRecordSet = objCommand.Execute
            objRecordSet.MoveFirst()
            Do Until objRecordSet.EOF
                results.Text = objRecordSet.Fields("Name").Value & Chr(13) & Chr(10)
                'Wscript.Echo "Computer Name: " & objRecordSet.Fields("Name").Value
                'Wscript.Echo "Location: " & objRecordSet.Fields("Location").Value
                objRecordSet.MoveNext()
            Loop
     
        End Sub

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut
    Alors, personne pour m'aider ??

    j'ai continué et déjà bien avancé. voici mon nouveau code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            Dim conn As ADODB.Connection
            Dim rs1 As ADODB.Recordset
            Dim strUsername, strPassword
     
            strUsername = "cn=admin,o=cmp"
            strPassword = "cmppass"
     
            conn = New ADODB.Connection
            conn.Provider = "ADSDSOObject"
     
            conn.Open("ADs Provider", strUsername, strPassword)
     
            rs1 = conn.Execute("<LDAP://usufed>;(uid=g66275);sn;subtree")
     
            While Not rs1.EOF
                MsgBox(rs1.Fields(0).Value.ToString)
                rs1.MoveNext()
            End While
     
            conn.Close()
     
        End Sub
    maintenant, j'arrive à me connecter, mais le prob est de retrouver l'info. ce que contient "rs1.Fields(0).Value" n'est pas un string (problème pour l'afficher, message reçus: "Argument 'Prompt' cannot be converted to type 'String'."), et si je demande ".ToString", il m'affiche: "System.Object[]"

    alors, une idée ??

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 72
    Points : 39
    Points
    39
    Par défaut
    youpie, j'ai trouvé !!

    en fait, Value est encore un array, et donc pour avoir la valeur, il fallait faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox(rs1.Fields(0).Value(0)

    et là, ça maaaaarche


    T

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SP-2010] Connection de WebPart sur un champs recherche
    Par LuthienTinuviel dans le forum SharePoint
    Réponses: 1
    Dernier message: 29/07/2012, 08h45
  2. LDAP: recherche sur un attribut multivalué
    Par yjuliet dans le forum Sécurité
    Réponses: 1
    Dernier message: 13/10/2008, 17h59
  3. [LDAP] Résultat vide après recherche sur Active Directory
    Par crashyear dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/10/2006, 17h40
  4. [Mail] LDAP-PHP / Recherche sur 2 branches "OU"
    Par Yoshi_da_f..k dans le forum Langage
    Réponses: 5
    Dernier message: 29/09/2006, 13h30
  5. Savoir si une connection est établie sur un port
    Par Malone dans le forum Web & réseau
    Réponses: 3
    Dernier message: 06/12/2003, 08h22

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