我有一个程序想要连接到我们网络上的 oracle 数据库。这个程序是用java编写的,必须使用jdbc。我们的 PC 设置为使用 sqlnet.ora 文件来确定如何解决的顺序。我们所有的PC首先检查ldap(ldap文件在所有这些PC上指向ldap服务器)然后使用tnsnames.ora文件,但是这个文件现在是空的所以基本上我想使用ldap,但是通过sqlnet.ora。任何想法对于 url 参数的连接是什么样的?
问问题
5463 次
2 回答
3
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 客户端。
如果您的程序不允许设置系统属性,您有两种选择:
- 在启动程序时指定它
java -Doracle.net.tns_admin=c:/foobar ...
- 设置一个
JAVA_TOOLS_OPTIONS
包含-Doracle.net.tns_admin=c:/foobar
. 然后它将被任何Java程序自动拾取
于 2012-12-03T23:19:03.783 回答
2
jdbc:oracle:oci:@<<TNS alias>>
<<TNS alias>>
如果您通过 SQL*Plus 进行连接,您将使用的 LDAP 条目在哪里
于 2012-12-03T23:27:23.790 回答