【问题标题】:How do you connect to an LDAP server using node-oracledb?如何使用 node-oracledb 连接到 LDAP 服务器?
【发布时间】:2015-11-06 18:30:19
【问题描述】:

我有一个数据库,我可以使用字符串“jdbc:oracle:thin@ldap://SERVER_NAME:1234/SERVICE,cn=OracleContext,dc-world”连接到使用 jdbc。

但是,当我使用node-oracledb时,这个连接字符串不起作用,大概是因为Node没有使用jdbc。我可以使用什么连接字符串来连接数据库?

【问题讨论】:

    标签: oracle ldap node-oracledb


    【解决方案1】:

    没有可用于 LDAP 的“Easy Connect”语法,因此您需要 配置 ldap.ora 和 sqlnet.ora 文件并使用非 Easy Connect node-oracledb 中的字符串别名(或其他工具,如 SQL*Plus、PHP OCI8、Python cx_Oracle、Golang godror 等)。

    有人告诉我(!)步骤是:

    1. 调用 netca -> 目录使用

    2. 通过 netca->命名方法配置配置命名以使用 LDAP。这将为名称查找设置 sqlnet.ora。

    3. 运行 netmgr 以设置 ldap 中的条目或运行 Enterprise Manager 以设置 ldap。

    4. 将这些文件复制到运行 Node.js 的机器上的子目录中,并将 TNS_ADMIN 设置为包含这些文件的目录。使用 Instant Client,您可以将其放在 Instant Client 库下的 network\admin 子目录中。请参阅手动条目Optional Oracle Net Configuration

    5. 将 node-oracledb 的 connectString 设置为 3 中配置的连接别名,例如“兽人”

    【讨论】:

    • netca 似乎是一个仅限 linux 的工具,不幸的是我正在运行 Windows。无论如何,您或某人可以发布这些工具生成的样本吗?这将非常有帮助。此外,这似乎是从 Java 迁移到 node 时的常见问题。 oracle 是否说过支持 LDAP 样式的连接字符串?
    • netca 不仅适用于 linux,也适用于 windows。安装oracle数据库,默认自带。
    【解决方案2】:

    为了使 ldap 连接正常工作,我必须执行以下操作:

    在 oracle 客户端的 network/admin 文件夹中添加(这些由我的数据库管理员提供,but there are examples here:):

    • LDAP.ORA
    • sqlnet.ora

    然后 connectString 只是服务名称,没有别的。因此,使用原始示例 jdbc:oracle:thin@ldap://SERVER_NAME:1234/SERVICE,cn=OracleContext,dc-world,connectString 将只是 SERVICE

    【讨论】:

    • 这应该是正确答案,感谢您的详细说明。
    猜你喜欢
    • 1970-01-01
    • 2013-03-26
    • 2011-01-12
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 2015-01-29
    相关资源
    最近更新 更多