La ligne rs.update "employeenumber",1
faild with error :
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 (the recorset is updatable)
Rs Batchupdatable :Vrai (the recorset isalso batchupdatable)
NbReccors Found :1 (only on record is return by the recordset)
employeenumber is : [NA0910011842523811] (the script can read the field employeenumber)
But the line La ligne rs.update "employeenumber",1 generate error
-2147217887 Multiple-step operation generated errors" check each status value
however, the userid an password used to connect to the ldap server can write/overwrite the employeenumber field
with an Ldap Browser such as Ldap Browser/Editor
Thanks for help
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