この制限に遭遇したとき、私はより効率的な複数の小さなクエリと単一の大きなクエリのどちらがより効率的かを確認するための小さなテスト ケースを作成していました。
クエリは次のようになります。
(| (clientid=1) (clientid=2) (clientid=3) ...)
クライアント数が2103を超えると?! LDAP サーバーがエラーをスローします。
error code 1 - Operations Error
私が知る限り、実際のフィルター文字列の長さは 69KB 程度で問題ありません (少なくとも Microsoft AD の場合、長さの制限は 10MBです)。私はより長い属性名で試してみましたが、同じ奇妙な制限を得ました: 2103 オペランド
- この制限について詳しい情報を持っている人はいますか?
- これは LDAP プロトコル仕様で指定されているものですか、それとも実装固有のものですか?
- 設定可能ですか?
UnboundIDとJNDI Java ライブラリーの両方を使用して、これをIBM Tivoli Directory Server V6.2に対してテストしました。