免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3098 | 回复: 4
打印 上一主题 下一主题

[ldap] 求助:如何在openldap中搜索数据 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-05 13:25 |只看该作者 |倒序浏览
我openldap的bankendDB是SQLite,现在碰到的问题是:可以把所有的信息查询出来,但是当用条件查询时,却报出查询成功,但是没有结果显示,具体的参数配置如下:
slapd.conf

include                   /usr/local/openldap/etc/openldap/schema/core.schema
include                   /usr/local/openldap/etc/openldap/schema/cosine.schema
include                   /usr/local/openldap/etc/openldap/schema/inetorgperson.schema

access   to   *
          by   self   write
          by   *   read

access   to   *   by   dn= "cn=root,dc=example,dc=com "   write

pidfile                   /usr/local/openldap/var/slapd.pid
argsfile                 /usr/local/openldap/var/slapd.args

loglevel     1
#######################################################################
#   sql   database   definitions
#######################################################################

database                 sql
suffix                     "dc=example,dc=com "
rootdn                     "cn=root,dc=example,dc=com "
rootpw                     secret
dbname                     ldap
dbuser                     test
dbpasswd                 test
subtree_cond         "ldap_entries.dn     LIKE   CONCAT( '% ',?) "
insentry_stmt       "INSERT   INTO   ldap_entries   (id,dn,oc_map_id,parent,keyval)   VALUES   ((select
nmax(id)+1   from   ldap_entries,?,?,?,?) "
has_ldapinfo_dn_ru       no
index   objectClass   eq
index   giveName,sn,telephoneNumber

odbc.ini
[ldap]
Driver=/usr/local/lib/libsqlite3odbc.so
Description=Connection   to   OpenLDAP   DataBase
Database=sql_ldap
#   optional   lock   timeout   in   milliseconds
Timeout   =2000
dbuser=test
dbpasswd=test


搜索条件为:
  ./ldapsearch   -x   -D   'cn=root,dc=example,dc=com '   -W   -b   'dc=example,dc=com '

结果显示全部的信息…………

条件查询时:
./ldapsearch   -x   -b   'dc=example,dc=com '   '(giveName=******) '

结果显示查询成功,但没有查询结果

这种问题到底是什么原因造成的,还请各位高手多指点阿,小弟多谢!!

论坛徽章:
0
2 [报告]
发表于 2007-11-05 13:29 |只看该作者

回复 #1 zhaixishan 的帖子

更正:
条件查询时:
./ldapsearch   -x   -b   'dc=example,dc=com '   '(giveName=ABDCD*) '
可以查询出相关信息,但是当精确查找是就不能查询出相应信息

./ldapsearch   -x   -b   'cn=******,dc=example,dc=com '   时
结果显示:
result: 32 No such object
matchedDN: dc=example,dc=com

请问各位大哥:这种问题原因是什么? 被搞得晕头转向阿

论坛徽章:
0
3 [报告]
发表于 2007-11-05 13:32 |只看该作者

回复 #1 zhaixishan 的帖子

使用的数据库是openldap安装文件包中自带的数据,路径为:
openldap-2.3.38\servers\slapd\back-sql\rdbms_depend\mysql

里面的文件有:
backsql_create.sql
testdb_create.sql
testdb_data.sql
testdb_metadata.sql

论坛徽章:
0
4 [报告]
发表于 2007-11-09 16:35 |只看该作者

回复 #3 zhaixishan 的帖子

此问题已经彻底解决了!!!

论坛徽章:
0
5 [报告]
发表于 2007-11-09 16:58 |只看该作者

回复 #4 zhaixishan 的帖子

subtree_cond    "UPPER(ldap_entries.dn) LIKE '%'|| UPPER(?)"

更改成这个样子就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP