Bonjour
Je récupère des informations sur Active Directory depuis une procédure SQL sur SQL server 2008.
Or pour certaines informations récupérées, le champ AdsPath devient très grand et peu être tronqué.
Exemple avec la requête ci-dessous :
J'obtiens un certain nombre de lignes avec une longueur de 256 caractères, et effectivement AdsPath est tronqué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT AdsPath,LEN(AdsPath) FROM OPENQUERY(ServeurLieAD, 'SELECT AdsPath FROM ''LDAP://OU=FFF,DC=intra,DC=CCC,DC=fr'' WHERE objectClass= ''group'' and CN >= ''Liste'' ') order by LEN(AdsPath) desc
Si je transfère directement AdsPath dans une table temporaire (dont la colonne est dimensionnée à 600 caractères) avec le code suivant :
J'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 INSERT INTO dbo.Tempo_ListesDistrib(AdsPath) SELECT AdsPath FROM OPENQUERY(ServeurLieAD, 'SELECT AdsPath FROM ''LDAP://OU=FFF,DC=intra,DC=CCC,DC=fr'' WHERE objectClass= ''group'' and CN >= ''Liste'' ')
Le fournisseur OLE DB 'ADSDSOObject' pour le serveur lié 'ServeurLieAD' a retourné des données tronquées pour la colonne '[ADSDSOObject].AdsPath'. La longueur réelle des données est 534 alors que celle des données tronquées est 512.
Le fournisseur OLE DB 'ADSDSOObject' pour le serveur lié 'ServeurLieAD' a retourné des données tronquées pour la colonne '[ADSDSOObject].AdsPath'. La longueur réelle des données est 540 alors que celle des données tronquées est 512.
Le fournisseur OLE DB 'ADSDSOObject' pour le serveur lié 'ServeurLieAD' a retourné des données tronquées pour la colonne '[ADSDSOObject].AdsPath'. La longueur réelle des données est 534 alors que celle des données tronquées est 512.
Quelqu'un aurait-il une idée pour éviter cette troncature ?
Il me faut absolument récupérer AdsPath complet car avec celui-ci je relance d'autres requête sur Active Directory pour obtenir des informations supplémentaires.
Merci pour vos lumières
Partager