jdbc使用sqlnet.ora

时间:2012-12-03 23:07:56

标签: oracle jdbc

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

2 个答案:

答案 0 :(得分:3)

来自JDBC Developer's Guide

  

必须将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程序自动
  3. 选择

答案 1 :(得分:2)

来自Oracle JDBC FAQ

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

其中<<TNS alias>>是您通过SQL * Plus连接时将使用的LDAP条目