2011-12-14 67 views
0

我被困在一個問題,我需要做一個過濾器來找到沒有「DC = blah」字符串的DN。帶等號的CFLDAP過濾器

,所以我必須:

(!(distinguishedName='*DC=blah*')) 

但這並沒有得到通過良好。

請幫忙!

編輯:對不起,我忘了把星號搜索字符串。

回答

0

似乎有沒有辦法讓DN過濾的方式我喜歡它,所以我不得不使用第二個過濾方法使用CFQUERY。

<cfquery dbtype="query" name="secondFilter"> 
SELECT * FROM firstFilter WHERE dn NOT LIKE '%DC=blah%' 
</cfquery> 
0

我不能在這裏測試,但也許嘗試這個

(!(distinguishedName='DC\=blah')) 
+0

這是行不通的。我收到的信息和以前一樣,是「錯誤的搜索過濾器」 – James 2011-12-14 06:14:56

1

出色的問題。你尋求的否定過濾器是(!(distinguishedName=dc=blah*))。反斜槓不能在斷言中使用,除非它後面跟有兩個十六進制字符。除非他們是斷言的一部分,否則引號是沒有必要的。

如果distinguishedName是一個屬性這將工作。否則,必須在可擴展匹配過濾器中使用DN組件。有關更多信息,請參閱"LDAP: ldapsearch""LDAP: Mastering search filters""LDAP: Programming Practices"

+0

您好,我試過了,但沒有返回任何結果。我嘗試了很多不同的方式,但它似乎不可能單獨使用過濾器。最後,我只需要使用兩步來獲取過濾列表,最後一步是ColdFusion提供的另一個過濾功能。 – James 2011-12-16 05:27:35