IN 句で開いているクエリを実行できません。同じクエリが equal(=) 演算子で実行されます。以下は私のクエリです-
DECLARE @SapNO as nvarchar(1000)
SET @SapNO = '''''00116795'''''
DECLARE @str nvarchar(1000)
SET @str = 'SELECT top 100 Name,employeeid FROM OPENQUERY(ADSI,
''select Name,employeeid FROM ''''LDAP://ABC.com''''
WHERE objectCategory = ''''Person''''
AND objectClass = ''''user''''
AND employeeid in (' + @SapNO + ')
'')'
exec sp_executesql @str
上記のクエリはエラーメッセージをスローします-
クエリ "select Name,employeeid FROM 'LDAP://ABC.com' WHERE objectCategory = 'Person' AND objectClass = 'user' AND employeeid in ('00116795') " を OLE DB プロバイダーに対して実行するための準備中にエラーが発生しました "リンク サーバー "ADSI" の ADsDSOObject"。
IN
句を等号演算子に置き換えると、正常に機能します。
なにか提案を?