使用LDAP(Windows凭据)登录APEX v22应用报错及DBMS_LDAP测试代码编译失败的解决求助
大家好,我现在在给APEX v22配置基于LDAP(系统登录凭据)的用户认证方案,过程中遇到了两个问题,想请各位帮忙看看怎么解决:
我的LDAP配置信息
- LDAP主机:已填入必填的IP地址
- 端口:已填入必填的端口号
- 使用SSL:未启用SSL
- 可分辨名称(Distinguished Name):已启用
- 可分辨名称字符串:
cn=%LDAP_USERS%,OU=<My Org name>, DC=<My Org Domain>,DC=com
测试登录时的错误
尝试测试LDAP登录时,收到如下错误:
ORA-31204: DBMS_LDAP: PL/SQL - Invalid LDAP Session.
测试代码及编译错误
为了排查问题,我在网上找了一段PL/SQL测试代码,但运行后出现了编译错误:
DECLARE l_ldap_host VARCHAR2(100) := 'My IP'; l_ldap_port NUMBER := 8080; l_ldap_user VARCHAR2(100) := 'cn=%LDAP_USER%,OU=My ORG,DC=My Domain,DC=com'; l_ldap_password VARCHAR(100) :='Trayobean199528*'; l_session RAW(32); l_retval NUMBER; BEGIN l_session := (hostname => l_ldap_host, portnum => l_ldap_port); l_retval := DBMS_LDAP.simple_bing_s(id => l_session, dn => l_ldap_user, password => l_ldap_password); dbms_output.put_line(l_retval); END;
对应的错误报告如下:
Error report -
ORA-06550: line 11, column 15:
PLS-00320: the declaration of the type of this expression is incomplete or malformed
ORA-06550: line 11, column 1:
PL/SQL: Statement ignored
ORA-06550: line 14, column 23:
PLS-00302: component 'SIMPLE_BING_S' must be declared
ORA-06550: line 14, column 1:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
请问各位,我该怎么修正这些问题,让LDAP认证能正常工作呢?我使用的是Oracle SQLDeveloper和APEX v22版本。
备注:内容来源于stack exchange,提问作者Omatayo Holder

