ナレッジベース

TNSNames.ora を使用しない Oracle への接続時にエラー "ORA-12154" が発生した


発行: 01 Aug 2014
最終修正日: 03 Jan 2019

問題

Oracle データベースへの新しい接続を作成するか、Oracle データベースに接続されているパブリッシュされたワークブックを開くときに、3 つすべての接続パラメーター (サーバーサービスポート) が内部接続中に設定された場合、次のエラーが発生する可能性があります。

Oracle データベース エラー 12154: ORA-12154:TNS: 指定された接続識別子を解決できませんでした

同じ Oracle データベースへの接続を試みるときに、Server パラメーター内の TNSNames.ora ファイルからのサービス名を使用して、他の 2 つのパラメーターを空欄のままにすると、接続は成功します。

環境

  • Tableau Server
  • Tableau Desktop
  • Oracle

解決策

オプション 1:

Oracle データベース管理者と連携して、Tableau Desktop または Tableau Server を実行しているコンピューターでの Oracle クライアントのホスト名接続の種類を許可します。

オプション 2:

次の回避策により、ホスト名の接続の種類が許可される場合があります。

  1. Tableau Desktop または Tableau Server を実行しているコンピューターで、sqlnet.ora ファイルを探します。通常、ファイルが含まれるフォルダーは TNS_ADMIN 変数で指定されており、TNSNames.ora ファイルも含んでいます。詳細については、「Oracle 接続を設定して TNSNames.ora を使用する」の「TNS_Admin 環境変数を設定する」、および Oracle FAQ の「Sqlnet.ora」を参照してください。
    注: このフォルダーに sqlnet.ora ファイルが含まれていない場合、sqlnet.ora ファイルを作成します。
  2. sqlnet.ora file で、NAMES.DIRECTORY_PATH 行を次のように修正するか、sqlnet.ora file に次の行を追加します。
    NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, HOSTNAME)
注: この問題が Tableau Server 分散環境で発生する場合、上記のステップを Tableau Server インストール内のすべてのコンピューターに実行します。

原因

sqlnet.ora ファイルが、Oracle ドライバーが 3 つすべての接続パラメーターを使用してデータベースを探すことを許可していません。
この記事で問題は解決しましたか?