1

我有一个程序想要连接到我们网络上的 oracle 数据库。这个程序是用java编写的,必须使用jdbc。我们的 PC 设置为使用 sqlnet.ora 文件来确定如何解决的顺序。我们所有的PC首先检查ldap(ldap文件在所有这些PC上指向ldap服务器)然后使用tnsnames.ora文件,但是这个文件现在是空的所以基本上我想使用ldap,但是通过sqlnet.ora。任何想法对于 url 参数的连接是什么样的?

4

2 回答 2

3

来自JDBC 开发人员指南

oracle.net.tns_admin 系统属性必须设置为 tnsnames.ora 文件的位置,以便 JDBC Thin 驱动程序可以找到 tnsnames.ora 文件。例如:

System.setProperty("oracle.net.tns_admin", "c:\\Temp");
String url = "jdbc:oracle:thin:@tns_entry";
DriverManager.getConnection(url, ...);

由于系统属性,瘦驱动程序能够找到 tnsnames.ora 文件,从而可以解析 URL 中指定的 TNS 名称。因为瘦驱动程序通常旨在在没有安装 Oracle 客户端的情况下工作,所以默认情况下不启用。

据我记得,您需要 tnsnames.ora,即使指定 TNS 名称,使用瘦驱动程序时也不需要 Oracle 客户端。

如果您的程序不允许设置系统属性,您有两种选择:

  1. 在启动程序时指定它java -Doracle.net.tns_admin=c:/foobar ...
  2. 设置一个JAVA_TOOLS_OPTIONS包含-Doracle.net.tns_admin=c:/foobar. 然后它将被任何Java程序自动拾取
于 2012-12-03T23:19:03.783 回答
2

来自Oracle JDBC 常见问题解答

jdbc:oracle:oci:@<<TNS alias>>

<<TNS alias>>如果您通过 SQL*Plus 进行连接,您将使用的 LDAP 条目在哪里

于 2012-12-03T23:27:23.790 回答