|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Invité de passage
![]() |
Bonjour à tous,
Depuis quelques temps déjà, j'utilise un serveur lié vers Active Directory depuis un serveur SQL 2005. Ainsi, je suis en mesure d'envoyer des requêtes à l'Active Directory sous la forme suivante : Citation:
J'ai alors voulu créer mon serveur lié vers Active Directory avec un script SQL: Citation:
Par contre, lorsque j'envoie la requête SQL citée en haut de ce post, j'obtiens les différentes colonnes stipulées dans la clause de 'Select' et aucune ligne n'est remontée. De plus, j'obtiens le message d'erreur suivant: Citation:
J'avoue ne plus savoir où chercher donc si vous avez la moindre piste, d'avance, MERCI ! NB : pas la peine de me sortir un truc du genre 'demande à google', ça fait 3 jours que je cherche ... merci |
|||
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() |
1. Que donne la requête suivante :
Code :
2. Attention aux limitations de l'AD : Vérifier la valeur de MaxPageSize de l'AD Par défaut MaxPageSize de l'AD a pour valeur 1000. Si ta requête doit ramener plus de 1000 lignes alors tu dois modifier la valeur du MaxPageSize de l'AD. Pour plus de détails voir ici 3. l'AD est hébergé sous du WINDOWS 2003 ou WINDOWS 2008 ? |
||
|
00
|
|
|
#3 |
|
Invité de passage
![]() |
Salut,
1. La requète que tu me fournis renvoie 901 lignes, mais se terminent par exactement le même message d'erreur. 2. J'étais au courant que l'AD possédait une limitation concernant le nombre de liignes mais ceci ne devrait pour autant pas me fournir ce message d'erreur. 3. Le serveur AD est hébergé sous Windows server 2003. Merci pour ton aide. |
|
00
|
|
|
#4 | |||||||
|
Membre Expert
![]() ![]() |
Citation:
--> Dans mon cas autour de 950 lignes, j'étais obligé de changer le MaxPageSize pour obtenir normalement mes résultats. --> Il faut respecter la casse, dans ta requête tu as : "givenname" dans ton SELECT et "GIVENNAME" dans ton WHERE --> Aussi si mes souvenirs sont bons les IS NOT NULL ou IS NULL ne marchent pas directement dans le query avec l'AD. Tu peux contourner ces prolèmes en créant une vue SQL. (create view ...) Code :
Code :
Code :
|
|||||||
|
00
|
|
|
#5 | |||||
|
Invité de passage
![]() |
Citation:
Code :
WHERE sn IS NOT NULL OR GIVENNAME IS NOT NULL Par contre, comme tu me l'a souligné, j'ai essayé d'appliquer un filtre directement dans la clause 'where' envoyé auprès de l'AD, un truc du genre : Code :
Par conséquent, je pense que le soucis doit directement provenir des données renvoyées par l'AD. Un caractère spécial non reconnu par le provider qui le fait d'ailleurs planté ... ![]() Je vais continuer à investiguer dans ce sens. Et encore pour ton aide !!! |
|||||
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() |
Quel est le résultat de la requête ci-dessous ?
Code :
|
||
|
00
|
|
|
#7 |
|
Invité de passage
![]() |
ben j'obtiens une ligne correctement formatée avec les informations correspondantes à mon compte AD.
Et sans message d'erreur. Voilà pourquoi je pense que l'AD possède une ligne qui fait totalement explosé le provider ADSDSOObject, pourquoi, je ne sais pas encore. Ma première impression s'orienterait vers un caractère spécial, mais ce n'est qu'une impression. Je posterai dès que je trouve. |
|
00
|
|
|
#8 | |
|
Membre Expert
![]() ![]() |
Citation:
Mais avant si tu as la main sur l'AD augmente la valeur du MaxPageSize puis exécute ton query pour voir ... Si l'augmentation de la valeur du MaxPageSize ne change rien tu peux toujours remettre la valeur initiale. Du courage |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() |
Alors je n'ai finalement pas réussi à identifier le(s) caractère(s) qui pouvait m'empêcher de faire fonctionner cette requête.
La seule parade que j'ai pu mettre en place a été de filtrer ma requête suivant l'adresse email. Ainsi, je me suis assuré de ne récupérer dans le résultat que les comptes correspondants aux employés de l'entreprise. Encore merci pour l'aide apportée |
|
00
|
|
|
#10 | |||||||
|
Membre Expert
![]() ![]() |
Citation:
Tu peux aussi charger progressivement tous les employés par ordre alphabétique en fonction du nom de famille (sn) dans une table en faisant : Code :
Code :
Code :
|
|||||||
|
00
|
Copyright © 2000-2012 - www.developpez.com