3

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

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

4

2 回答 2

2

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

我被告知(!)步骤是:

  1. 调用 netca -> 目录使用

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

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

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

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

于 2015-08-22T00:30:59.147 回答
1

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

在 oracle 客户端的 network/admin 文件夹中添加(这些是由我的数据库管理员提供的,但这里有示例:)

  • LDAP.ORA
  • sqlnet.ora

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

于 2021-03-10T01:19:39.173 回答