Script AD, comptabilitasationd'éléments [Résolu]

Signaler
Messages postés
20
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
11 juin 2009
-
Messages postés
20
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
11 juin 2009
-
Bonjour,

Je dois comptabiliser certains éléments sur l' AD mais le traitement est un peu long avec le RecordCount. N'est-il pas possible de passer par une comptabilisation au sein de la requête (un peu comme sur les BDD classiques)?
= > Anomalie sur :

objCommand.CommandText = "SELECT Count(*) FROM 'LDAP://" &
strChemin & "' WHERE objectCategory='" & strCategorie & "'"

Script actuel fonctionnant:
Function Calcul(strChemin,strCategorie)

Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider= ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
 
objCommand.Properties("Page Size") = 100000
objCommand.CommandText = "SELECT * FROM 'LDAP://" & strChemin & "' WHERE objectCategory='" & strCategorie & "'"
Set objRecordSet = objCommand.Execute
[...]
Calcul = objRecordSet .RecordCount

En vous remerciant par avance

2 réponses

Messages postés
20
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
11 juin 2009

Pour info dans le LDAP AD, il suffit décrire notre comparaison de la forme:
Champs-à-tester='*toto*'
Champs-à-tester='toto*'

Champs-à-tester='*toto'

Plutôt que les syntaxes BDD 'classqiue' qui ne marche pas ici comme les
substr, mid like '%..%'
Messages postés
20
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
11 juin 2009

Bon en fait le réel problème de lenteur provient des contrôles sur les données du Recordset que j'effectue parla suite.
J' inclue donc des conditions plus restrictives dans mon WHERE et effectue plusieurs
objCommand.Execute.

Par contre, j'aimerai y rajouter quelques chose comme :

objCommand.CommandText = "SELECT  [...]
where [...] and not Mid(sAMAccountName,1,4)='adm-' "

Mais cela n'est pas interprété par l' AD auriez vous une idée de la syntaxe à appliquer dans le cas ou cela est possible?