web-dev-qa-db-ja.com

Oracle SQL Developerでtnsnames.oraを使用します

Oracle SQL Developer を評価しています。

tnsnames.oraが読み込まれ、tnsnames.oraで定義された接続へのtnspingが正常に機能します。それでも、SQL Developerは接続を表示しません。

Oracle SQL Developer Soars 言及している場合、

oracleクライアントソフトウェアとtnsnames.oraファイルがすでにマシンにインストールされている場合、Oracle SQL Developerはtnsnames.oraで定義されたネットサービス名からConnectionsナビゲータに自動的に入力します。

TNS_ADMIN環境変数も設定しようとしましたが、SQL Developerを再起動した後、まだ接続が表示されません。

何か案は?
SQL Developerおよびtnsnames.oraを使用して正常に動作している人はいますか?

127
Peter Lang
  • SQLDeveloperTools --> Preferencesを参照します(下図を参照)。

    SQLDeveloper access preferences

  • Preferencesオプションでexpand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory where tnsnames.ora present。
  • 次に、下の図に示すように、Okをクリックします。
    tnsnames.oraで利用可能Drive:\Oracle\product\10x.x.x\client_x\NETWORK\ADMIN

    SQLDeveloper update tnsnames directory

これで、TNSnamesオプションを介して接続できます。

206
Chandra Sekhar

この 優秀な回答 同様の質問(残念ながら以前は見つけることができなかった)に対して、問題の解決に役立ちました。

参照された回答からコンテンツをコピーする:

SQL Developerは、次の場所でこの順序でtnsnames.oraファイルを探します。

$ HOME/.tnsnames.ora
$ TNS_ADMIN/tnsnames.ora
TNS_ADMINレジストリのルックアップキー
/etc/tnsnames.ora(非ウィンドウ)
$ Oracle_HOME/network/admin/tnsnames.ora
LocalMachine\SOFTWARE\Oracle\ORACLE_HOME_KEY
LocalMachine\SOFTWARE\Oracle\ORACLE_HOME

Tnsnames.oraファイルが認識されない場合は、次の手順を使用します。

TNS_ADMINという環境変数を定義して、tnsnames.oraファイルを含むフォルダーを指すようにします。

Windowsでは、これは、[コントロールパネル]> [システム]> [システムの詳細設定]> [環境変数...]に移動して行います。
Linuxでは、ホームディレクトリの.profileファイルでTNS_ADMIN変数を定義します。

OSがこの環境変数を認識していることを確認します

Windowsコマンドラインから:echo%TNS_ADMIN%

Linuxから:echo $ TNS_ADMIN

SQL DeveloperでSQL Developerを今すぐ再起動し、「接続」を右クリックして「新規接続...」を選択します。ドロップダウンボックスで接続タイプとしてTNSを選択します。 tnsnames.oraからのエントリがここに表示されます。

22
Peter Lang

私は同じ問題を抱えていました。tnsnames.oraは他のすべてのツールで正常に機能しましたが、SQL Developerはそれを使用しませんでした。ここで提供されているリンクのソリューションを含め、私が見つけることができるウェブ上のすべての提案を試しました。
何も機能しませんでした。

データベースは、tnsnames.oratnsnames.ora.bk2tnsnames09042811AM4501.bakなどのようなtnsnames.ora.bkのバックアップコピーをキャッシュしていたことがわかりました。これらのファイルは、平均的なユーザーには読めませんでした。

Sqldeveloperは名前のパターンマッチングであり、これらのバックアップコピーの1つを読み取ろうとしていたが、できなかったと思われます。したがって、正常に失敗し、ドロップダウンリストに何も表示されません。

解決策は、すべてのファイルを読み取り可能にするか、管理ディレクトリからバックアップコピーを削除または移動することです。

6
Jim

これは私を助けました:

投稿日:2011年8月12日4:54

Tnsnamesディレクトリを設定しますtools-> Preferences-> Database-> advanced-> Tnsnames Directory

https://forums.Oracle.com/forums/thread.jspa?messageID=10020012&#10020012

2
marchelloUA