• 締切済み
  • すぐに回答を!

ORA-12154 TNS:指定された接続識別子を解決できませんでした

こんにちは、よろしくお願いします。件名のエラーで困っています。 発生しているのはSQLStudio(1.3.10.443)で、データベース接続時に件名のエラーが発生します。(Oracle10g(10.2.0.1.0)) tnsnames.oraの内容とも合致している様子です。 またNet Managerのテストでは問題なく接続できます。 どなたか同様の経験をお持ちの方、いらっしゃいませんか? <tnsnames.ora>------------------------------------------ xxx_SVR = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = server01)(PORT = 1521)) ) (CONNECT_DATA = (SID = sid) ) ) ※server01は、hostsで解決済み <SQL Studioの接続文字列>------------------------------------ Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=userid;Data Source=xxx_SVR ・・・如何でしょうか? ちなみに同様の設定を行っている「ハズ」の同僚は、問題なく接続できています。

共感・応援の気持ちを伝えよう!

  • Oracle
  • 回答数4
  • 閲覧数23248
  • ありがとう数5

みんなの回答

  • 回答No.4
  • fcuk
  • ベストアンサー率0% (0/0)

tnsnames.oraの中身 xxx_SVR = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = server01)(PORT = 1521)) ) (CONNECT_DATA = (SID = sid) ) ) を xxx_SVR = [スペース](DESCRIPTION = [スペース][スペース](ADDRESS_LIST = [スペース][スペース][スペース](ADDRESS = (PROTOCOL = TCP)(HOST = server01)(PORT = 1521)) [スペース][スペース]) [スペース][スペース](CONNECT_DATA = [スペース][スペース](SID = sid) [スペース]) ) のように修正して同じディレクトリに保存してみてください。 理由はわかりませんが、スペースを入れることによって私はうまくいきました。

共感・感謝の気持ちを伝えよう!

  • 回答No.3
  • 3rd_001
  • ベストアンサー率66% (115/174)

切り分け結果からするとOracle自体の問題ではなさそうですね。 SQLStudio自体の問題の気がします。 SQLStudioはわかりませんが後は以下が疑えます。 ・SQLStudioのインストールが上手くいっているか ・ファイアウォール ・パス ・ディレクトリの権限

共感・感謝の気持ちを伝えよう!

質問者からの補足

実はCSEでも試したのですが、同じ現象になります。 ・・・何でしょうね??ホントに・・・ とりあえず今回は諦めました。 時間ができたら少しじっくり取り掛かります。 皆様、本当にお世話様でした!

  • 回答No.2
  • 3rd_001
  • ベストアンサー率66% (115/174)

SQLStudioを動かしているユーザでtnspingは通りますか? tnsping xxx_SVR また、SQL*Plus等のOracle純正のツールで導通可能ですか? sqlplus userid@xxx_SVR/パスワード 上記、2点を確認して原因のきりわけをしてください。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご回答ありがとうございます。 (1)tnspingは通っています。 (2)SQL*Plusでは導通しています。 以上、確認済みでした。 (ちなみにユーザはAdmin権限です) 今回、割と真っさらなPCにOracleClient(管理者)をインストールし、tnsnamesを設定。(Hostsも定義) その後でSQLStudioでDB接続したところ、前述のエラーとなっています。 同様の設定で、他端末では動いていたのですが。。。

  • 回答No.1
  • naktak
  • ベストアンサー率36% (784/2138)

コンピュータを再起動してもダメですか? Oracle Clientを複数バージョンインストールし、環境変数TNS_ADMINを 追加・変更したりした時に、同様の症状(他のアプリケーションから接続できない) が発生しましたが、コンピュータを再起動することで解消できました。 もしそういうことをされているのであれば、一度コンピュータを再起動 されてみてはいかがでしょう?

共感・感謝の気持ちを伝えよう!

質問者からの補足

ご回答ありがとうございます。 早速、システム環境変数にTNS_ADMINとしてtnsnames.oraが格納されているフルパスを設定し、PCを再起動しました。 (ちなみに当方WindowsXP sp3) が、現象変わらずです("―") 何なんでしょうね・・・?ホントに

関連するQ&A

  • VB.NET ORA-12170

    http://okwave.jp/qa/q8420174.html ↑ VB.NETで作成したアプリでこちらの質問で無事解決し、違う環境で試したところORA-12170の タイムアウトエラーが発生しました。 SQL*Plusからの接続は問題ありません。 わからないのはWEBアプリの方は接続できるのに、コンソールアプリの方がこのエラーになってしまいます。 どちらのアプリの接続文字列も同じData Sourceを指定してます。 「db1」がTNSNAMES.ORAに記述している識別子になります。 WEBアプリ側 (Web.configに記述) <connectionStrings> <add name="oracle" connectionString="Provider=OraOLEDB.Oracle;Data Source=db1;Password=pass1;User ID=user1" providerName="System.Data.OleDb" /> </connectionStrings> コンソールアプリ側 (INIファイルに記述) ConnectionString=Provider=OraOLEDB.Oracle;Data Source=db1;Password=pass1;User ID=user1 一般的にはDBサーバにネットワークがつながってないなど単純な理由のようですが、 WEBアプリは接続できるので、そういうことはあり得ないと思います。 コンソールアプリの問題と思うのですが、どんな原因が考えられるでしょうか?

  • 共有サーバ接続で ora-12523

    専用サーバ接続だと、問題なく接続できるのですが、 共有サーバ接続にするとora-12523でエラーとなってしまいます。 tnsnames.oraに (CONNECT_DATA = (SERVER = SHARED)) としてローカル環境で接続しています。 同じような現象をご存知が見えましたら、ご教授願います。 os : miracle linux 2.4.9-e.9.30ml db : oracle 10.1.0.2

  • Oracle10gExpressをインストールした後、Oracle8iの接続ができなくなった(ORA-12154)

    お世話になります。 Oracle8iクライアントがインストールされている環境に、 Oracle10gExpressをインストールしました。 Oracle8iでインストールした、SQL Plusからは問題なく接続できるのですが、 AccessにODBC接続させていた、Oracleへの接続がうまくいかなくなりました。 よくわかっていないのですが、 どうも、Oracle10gのtnsnamesを参照しにいっているような気がします。 でも、oracle8iのtnsnames.oraの内容をそのまま、 10gのtnsnames.oraにコピーしましたが、だめでした。 何かご存知の方アドバイスいただけないでしょうか? よろしくお願いいたします。 ●8iのtnsnames.oraでうまくいっていた内容を、10gにコピーした内容です。(内容は変更せずにそのままコピーしました) test.xxx.CO.JP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xxx.xxx)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = test) ) )

  • 「ORA-12154:TNS:サービス名を解決できませんでした。」

    [OSのVER]:WIN2000 [OracleのVER]:Oracle8i SQL*Plusより接続を行うと、下記のエラーが発生しました。 「ORA-12154:TNS:サービス名を解決できませんでした。」 Net8 Configuration Assistantから、接続のテストをすると 成功します。 何が原因なのでしょうか?

  • データベースに接続できない

    データベースに接続できません!! 「tnsnames.ora」、「listener.ora」、「sqlnet.ora」の内容は以下になっております。いろいろ調べてみて、これでいいとは思うのですが、「ORA-12545 ターゲット・ホストまたはオブジェクトが見つかりません。」というエラーが出てしまい接続できません。 DBはOracle10g Release1を使用しています。 【tnsnames.oraの内容】 ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) 【listener.oraの内容】 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = G:\oracle\product\10.1.0\Db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_NAME = orcl) (ORACLE_HOME = G:\oracle\product\10.1.0\Db_1) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) )

  • オラクル:ORA-12154メッセージ

    助けてください。 クライアントからSQL*PLUSを実行しようとすると出ます。 NetConfigurationAssistantのローカル・ネット・サービス名構成でテストすると接続OKです。 過去の投稿を参考にしましたが直りません。 Oracle9iです。 サーバに作ったデータベースはabcです。 ホストマシン名はabc-serverです。 今、tnsnames.oraの中は次の通りです。 abc = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = abc-server)(PORT = 1521)) ) (CONNECT_DATA = (SID = abc) ) )

  • オラクルの「ORA_12545 ターゲット・ホストまたはターゲットが見つかりません」のエラーについて

    マルチスレッドサーバ構成にしているOracle8iのサーバに対して、クライアントからSQLPlusなどで接続しようとすると、ORA-12545のエラーが出てしまいます。 tnsnames.oraファイルには、HOSTをIPアドレスで記述しており、そのIPアドレス宛には、pingもtelnetでも接続できます。プロトコルにはTCPを使用しており、特に問題はないと思うのですが・・・。ちなみに、サーバを専用サーバ構成に変更すると繋がるようになります。 この現象に対する対処方法をご存知の方、ご教授ください。

  • 接続識別子とは何でしょうか??

    現在Bronzeの問題を解いているのですが ある問題がどうしても納得できません。 ・接続記述子には、ネットワーク・ホスト名とデータベース・サービス名が含まれる -->これは正解で、理解できましたが ・接続識別子には、ネットワーク・ホスト名とデータベース・サービス名が含まれる。 -->問題の回答ではこれも正解となっているのですが、どうして正解なのかよく分かりません。 接続識別子は、接続記述子を識別する為のものですよね? tnsnames.ora.sampleの hsagent = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)) (CONNECT_DATA=(SID=hsagent)) (HS=) ) 接続識別子は、hsagentで 接続記述子は、(DESCRIPTION=・・・) だと思っているのですが・・・ よろしくお願いします。

  • リスナーが起動しているのに「ORA-12541 : TNS: リスナーがありません」と怒られる

    同じ LAN 内にサーバーが3つあります。 すべて別々のデータベースが入っている DB サーバーです。 サーバーの状態は、順番に以下の通りとなっています。 A:DB サーバー(参照されるサーバー) B:A に対して接続可能。 C:A に対して接続できない。 B → A、C → A に対して DBLink を貼っているのですが、 B → A だけが成功し、C → A が失敗します。 失敗のエラー内容が、上記の「リスナーがありません」というエラーなのですが、 B → A の接続が成功しているのでリスナーは存在して正常に動作しているはずです。 A に対する接続情報(tnsnames.ora)は、B も C もまったく同じです。 A 側のリスナーのポートも同じで、同じユーザー/パスで接続テストをしています。 自分はサブシステム担当なので A サーバーの設定情報を見ることはできないのですが、 考えられるのは A 側で参照を許可する制御をしているくらいです。 でも、A 側で「B からの参照は許可するが C の参照は不可」と言った制御はできるものでしょうか? もしくは、ほかに考えられる原因はありますでしょうか? お手数ですが、よろしくお願いします。

  • tnsnames.oraファイルについて

    初心者の質問で申し訳ないのですが。。。。 下記サイトからOracle Database 10g Client Release(10.2.0.3)を ダウンロードしてインストールしました。 (URL) http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10203vista.html インストール後、Visual Studioの開発環境からデータソースの新規追加を行い、接続テストを試みたところ、 以下のエラーが出力されました。 (Error) ORA-12514: TNS:listener does not currently know of service requested in connect descriptor いろいろ調べていると、上記エラーの発生原因として、tnsnames.oraファイルの内容に誤りがあるのでは? という認識をもっているのですが、 肝心のtnsnames.oraファイルがOracle Clientのインストール環境下に存在しません。 そもそも、tnsnames.oraファイルというのは、クライアント側で設定するものではないのでしょうか?? 基本的な質問で本当に申し訳ないのですが、 どなたかご回答をお願い致します。