Active Directory に接続するために openquery を使用してこのスレッドを読んだ後、LDAP クエリへの変数置換を解析する方法を見つけましたが、結果が返されません。(列見出しのみ)。
declare @name nvarchar(100)
declare @sql nvarchar(max)
set @name = 'Sanjay*'
set @sql=
'SELECT * FROM OPENQUERY (
ADSI,
''SELECT givenname ,
sn,
displayname,
samaccountname,
telephonenumber,
mail,
department,
title
FROM ''''LDAP://domainobfuscated''''
WHERE
objectClass = ''''USER''''
and objectCategory = ''''person''''
and displayName = ''''+@name+'''''')'
exec dbo.sp_executeSQL @sql
次のように実行すると、結果が返されます。
SELECT * FROM OPENQUERY (
ADSI,
'SELECT givenname ,
sn,
displayname,
samaccountname,
telephonenumber,
mail,
department,
title
FROM ''domainobfuscated''
WHERE
objectClass = ''USER''
and objectCategory = ''person''
and givenName = ''Sanjay*''')