Bonjour,

J'accède avec un vbs à un annuaire Ldap non Microsoft.
L'affichage des champs comme employeenumber est Ok
par contre je ne parviens pas à mettre à jour ce champs
avec l'instruction rs.update "employeenumber",1
J'ai tentté beaucoup de variantes de ce code mais sans succés.
Si quelqu'un a une solution, je galère.
Merci

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Const adOpenKeyset=1
Const adLockOptimistic=3
Const adUseClient=3
Const adUseServer=2
Const AdCmdText=1 
 
Const adUpdate=16809984 
Const adUpdateBatch=65536 
 
 
SQLStmt="SELECT ADsPath,employeenumber,mobile,internationalisdnnumber,telephonenumber,ou,o,mail,givenname,sn,cn " & _
          "FROM 'LDAP://172.23.30.4:389/o=ANNUAIRE,o=directoryRoot' " & _
          "WHERE objectClass='*' and sn='NUCERA' and mail='a.x@cg71.fr'"
 
 
Set Conn = CreateObject("ADODB.Connection")
Conn.Provider = "ADSDSOObject"
 
Conn.Open "ADs Provider", _
          "uid=MyAccount,ou=Administrateurs,ou=Administration,o=ANNUAIRE,o=directoryRoot", _
          "MyPass"
 
set rs =CreateObject("ADODB.Recordset")
 
 
With rs
	.ActiveConnection = Conn
	.Source = SQLStmt
	.CursorType = adOpenKeyset
	.LockType = adLockOptimistic
	.CursorLocation = adUseClient
	.Open
End With
 
 
Wscript.echo "Rs updatable      :" & rs.Supports( adUpdate ) 
Wscript.echo "Rs Batchupdatable :" & rs.Supports( Batchupdatable ) 
wscript.echo "NbReccors Found   :" & rs.RecordCount
 
 
 
Do While Not rs.EOF Or rs.BOF
    'wscript.echo "ADsPath         is : " & rs.Fields("ADsPath")
    wscript.echo "employeenumber is : [" & rs.Fields("employeenumber") & "]"
    on error resume next
        'rs.Fields("employeenumber").value = 1
        'rs.Fields("employeenumber") = 1
        'wscript.echo "Err when set employeenumber :" & err.number & " " & err.description
    rs.update "employeenumber",1
    wscript.echo "Err when update employeenumber :" & err.number & " " & err.description
    rs.MoveNext
Loop
La ligne rs.update "employeenumber",1
est à l'origine de l'erreur suivante

D:\scripts\Atr>cscript OpenLdap5.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.

Rs updatable :Vrai
Rs Batchupdatable :Vrai
NbReccors Found :1
employeenumber is : [NA0910011842523811]
Err when update employeenumber :-2147217887 Une opération en plusieurs étapes a
généré des erreurs. Vérifiez chaque valeur d'état.