ネットワーク上のOracleデータベースに接続したいプログラムがあります。このプログラムはJavaで記述されており、jdbcを使用する必要があります。私たちのPCは、sqlnet.oraファイルを使用して解決方法の順序を決定するように設定されています。すべてのPCの最初のチェックldap(ldapファイルはldapサーバーを指すこれらすべてのPC上にあります)、次にtnsnames.oraファイルを使用しますが、このファイルは現在空なので、基本的にldapを使用しますが、 sqlnet.ora。urlパラメータの接続がどのようになるかについてのアイデアはありますか?
質問する
5463 次
2 に答える
3
JDBC Thinドライバがtnsnames.oraファイルを見つけられるように、oracle.net.tns_adminシステムプロパティを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クライアントは必要ありません。
プログラムでシステムプロパティの設定が許可されていない場合は、次の2つのオプションがあります。
- プログラム開始時に指定してください
java -Doracle.net.tns_admin=c:/foobar ...
JAVA_TOOLS_OPTIONS
を含む環境変数を設定します-Doracle.net.tns_admin=c:/foobar
。その後、 Javaプログラムによって自動的に取得されます
于 2012-12-03T23:19:03.783 に答える
2
From the Oracle JDBC FAQ
jdbc:oracle:oci:@<<TNS alias>>
where <<TNS alias>>
is the LDAP entry that you would use if you were connecting via, say, SQL*Plus
于 2012-12-03T23:27:23.790 に答える