oracle 读取ldap数据库,Oracle PL/SQL管理LDAP服务器(DBMS_LDAP包的使用)

了解LDAP

LDAP是Light Directory Access Protocol轻量级目录访问协议的简称,LDAP与数据库有很大的区别,它的数据是树状的,而且每个节点的属性也比较固定。

LDAP协议中用dn表示一条记录的位置,dc表示一条记录所属区域,ou表示一条记录所属组织,cn表示一条记录的名称,uid表示一条记录的ID,其中dn是根据dc、ou、cn或uid的组合来表示的,对于某条记录dn是唯一的,但是dc、ou、cn及uid可以有多个,

例如,常见的用户表示: dn:cn=张三,cn=users,dc=google,dc=cn

这条记录中dc和cn都有两个。 DBMS_LDAP包 PL/SQL中通过DBMS_LDAP包来管理LDAP服务器。

在默认情况下,DBMS_LDAP包并不载入,需要使用以下sql: SQL> CONNECT / AS SYSDBA

SQL> @$ORACLE_HOME/rdbms/admin/catldap.sql 数据类型: SESSION

用于保存LDAP会话的句柄,几乎所有DBMS_LDAP中的函数都需要此类型做参数。 MESSAGE

用于接收结果集. 用于所有关于记录属性和值的函数(如接收搜索函数返回的记录集合)。 MOD_ARRAY

用于modify_s() or add_s()操作的待修改或新增的数组。 TIMEVAL

用于设置LDAP API函数的超时时间。 BER_ELEMENT

保存BER 结构的句柄,用于引入消息的解码。 STRING_COLLECTION

可传给LDAP服务器的VARCHAR2字符串集合。 BINVAL_COLLECTION

RAW data集合,为二进制形式。 BERVAL_COLLECTION

BERVAL数据集合。 BLOB_COLLECTION

BLOB data集合。 函数:

1、init

init() 用户初始化一个LDAP服务器会话。 本操作将会创建一个LDAP服务器的连接,成功后将返回一个SESSION。 FUNCTION init (

hostname IN VARCHAR2, --服务器地址     portnum IN PLS_INTEGER --连接端口

)

RETURN SESSION; 2、simple_bind_s 本函数根据特定的用户和密码登陆LDAP服务器,成功后返回PLS_INTEGER类型。 FUNCTION simple_bind_s (

ld IN SESSION, --init返回的session     dn IN VARCHAR2,--登陆用户的dn passwd IN VARCHAR2 --登陆用户的密码

)

RETURN PLS_INTEGER; 3、unbind_s 关闭LDAP会话。 FUNCTION unbind_s (

ld IN OUT SESSION --init返回的session

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值