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
相关文档:
1.概念不同:
连接是指物理的网络连接。
在已建立的连接上,建立客户端与oracle的会话,以后客户端与oracle的交互都在一个会话环境中进行。
2. 关系是多对多:
一个连接上可以建立0个,1个,2个,多个会话。
Oracle允许存在这样的会话,就是失去了物理连接的会话。
3. 概念应用:概念 ......
外表(external table)就像普通的表对像一样,可以select等,只是它是只读的,数据库中只保存了表结构的描述,表数据却没有存放在数据库内,而是存放在了文件系统上。当用户想偶尔使用数据库外的结构化数据时,用起外表来就非常方便,甚至比sqlldr都要方便的多。在这篇文章里,我们为大家演示了
三步就掌握oracle外表过 ......
1、先导出数据到ACCESS,再导到sql server2000,出现问题,字段类型被改变。
2、采用 生成sql server脚本 解决问题。
SQL Server 2005数据库文件转到SQL Server 2000的步骤
1. 生成for 2000版本的数据库脚本
2005 的manger studio
--&nb ......
在SQL SERVER2000企业管理器下,SQL Server组里已经加如了 新建SQL Server 注册
比如:在可用的服务器(V)文本框中输入了:192.138.2.66然后点击 添加到服务器,当注册成功后
,当然192.138.2.66里面有 一个名为 kangaroo的数据库, 我现在的问题是:
怎么把 ......