6

tnsnames.oraのいくつかのエントリを追加/編集/削除するVBスクリプトを作成しようとしています。tnsnames.oraを変更するよりも、外部ファイル(myProjectOraNames.oraなど)を参照/変更すると便利です。

この構成では(可能であると想定して)、Oracleクライアントは既存のtnsnames.oraファイルと新しいmyProjectOraNames.oraの両方を参照してサービスの詳細を取得する必要があります。

この機能を実現するために実行できるオプション/構成はありますか?

4

2 に答える 2

10

IFILE コマンドを使用して、他のファイルも使用するようにプライマリ tnsnames.ora ファイルを構成できます。

たとえば、私のラップトップには、さまざまなクライアント用に個別の tnsnames.ora ファイルがあります。したがって、私の tnsnames.ora ファイルは次のようになります

JCAVE11G.WORLD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <<ip address>>)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = jcave11gr2)
    )
  )


IFILE = c:\oracle\product\11.1.0\db_1\Network\Admin\tnsnames.ora.client1
IFILE = c:\oracle\product\11.1.0\db_1\Network\Admin\tnsnames.ora.client2
IFILE = c:\oracle\product\11.1.0\db_1\Network\Admin\tnsnames.ora.client3

プライマリ tnsnames.ora ファイルに myProjectOraNames.ora ファイルへの IFILE 参照がある場合、同様のことができます。

于 2011-10-14T16:37:04.817 に答える
0

競合や誤動作のリスクを冒しても、変数を使用して、SQL*Net 構成ファイル (sqlnet.ora や tnsnames.ora など) が配置されているディレクトリの場所をいつでも特定できTNS_ADMINます。スクリプトでは、次の性質の何かを行うことができます。

set TNS_ADMIN=\some\path

\some\path(必要なすべての sql*net ファイルがあることを確認してください。)

その後、更新を続行します。このコンテキストで実行されているクライアントは、.xml の下でファイルを検索します\some\path。ただし、この環境変数に複数のパスを定義できるとは思いません。

于 2011-10-14T16:24:56.163 に答える