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