How to fetch records for 'memberOf' column with equal-to operator ('=') using Active Directory adapter?

How to fetch records for 'memberOf' column with equal-to operator ('=') using Active Directory adapter?

book

Article ID: KB0077168

calendar_today

Updated On:

Products Versions
TIBCO Data Virtualization 7.0.8, 8.x

Description

Executing a query on 'memberOf' column using Active Directory (AD) adapter with "equal to" operator ('=') does not return any records in TDV. 

SELECT 
    cn,
    memberOf
FROM /shared/TEST_AD/CIS/ActiveDirectory/OrganizationalPerson
WHERE memberOf = 'CN=ABC-Users,OU=Users,OU=HO,OU=PP,DC=dv,DC=cde,DC=tib,DC=org'


However executing the same sql query without the WHERE clause results in successful retrieval of the records.

Root-Cause:

With versions 7.0.8 and later, there have been improvements made to the AD adapter and with these '=' operator may not work as it did in the earlier versions. 

Issue/Introduction

This article illustrate the configuration required to fetch records for 'memberOf' column with equal-to operator ('=') using Active Directory adapter

Environment

Any

Resolution

To address this, add the property "SupportEnhancedSQL=False;" in the 'Other' configuration of the Active Directory data source in TDV.
 

Note: When using 'LIKE' keyword, there may be a performance overhead when using such queries. In those scenarios, using '=' operator with property "SupportEnhancedSQL=False;" in the connection settings as suggested above can be helpful.