Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Active Directory Report Issue

Hi,

First time poster and relative newcomer to Qlikview so please go easy.

We have a report that shows the content of  Active DIrectory.  This report is manually reloaded when required by all three members of my team, myself running Win 7 and my two collegues who both run XP.

We have recently upgraded to a new V11 SR2 environment from V9 and now only the two members of our team still running XP can reload the data.

When I try to run the code below I get the error shown in the attached screen grab.  When I reload the connection seems to connect ok and then the reload fails when trying to retreive the first of the data. 

Any advice or suggestions would be gratefully received as to how to resolve the issue as we plan to upgrade all our client machines Windows 7 and we all need to be able to reload this report.

Thanks

SET RootDse = 'DC=**company**, DC=**domain**';

/*
Read names from Active Directory using AdsDSO.
Active Directory returns a maximum number (pagesize) of rows per call.
The loop below will get all the rows regardless of the pagesize.
*/


CONNECT TO 'Provider=ADsDSOObject';

LET arg=chr(01); // Set search start name to a very low value
DO
UserTable:
  LOAD
  displayName as DisplayName,
  name as UserName,
  distinguishedName as UserDN,
  upper(sAMAccountName) as %KeyLanID,
  sAMAccountName As SamUser
;
SQL select
  name,displayName,sAMAccountName, distinguishedName  // Fields to select
FROM 'LDAP://$(RootDse)'  WHERE objectCategory='person'
  AND name>'$(arg)'; // Get rows where "name" is GT the arg

EXIT DO WHEN ScriptError > 1 // Stop loop if SELECT has error
EXIT DO WHEN NoOfRows('nameTable') = 0;  // Stop loop if SELECT returns nothing
EXIT DO WHEN peek('UserName') = '$(arg)';  // If the last "name" read is EQ to arg -- no more entries

LET arg=peek('UserName'); // Set the arg to the last "name" read
LOOP

 

2 Replies
rajeshvaswani77
Specialist III
Specialist III

Hi,

Have you found a solution for this?

I am facing a similar problem.

thanks,

Rajesh Vaswani

Anonymous
Not applicable
Author

Don't rename any fields when you read the active directory.

Instead create a reident table and rename and then drop the first table.

It worked for me