
初心者の質問で申し訳ないのですが。。。。
下記サイトからOracle Database 10g Client Release(10.2.0.3)を
ダウンロードしてインストールしました。
(URL)
http://www.oracle.com/technology/software/produc …
インストール後、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ファイルというのは、クライアント側で設定するものではないのでしょうか??
基本的な質問で本当に申し訳ないのですが、
どなたかご回答をお願い致します。
No.4ベストアンサー
- 回答日時:
tnsnames.ora, listener.ora
たしかに、いろいろと分かりにくいですよね
今回のエラーは
ORA-12514: TNS:listener
でありますので、 DBサーバ側の tnsnames.oraは関係ありません。
listener.ora そして DBNAMEの問題です。
listenr.oraは、TNSリスナーの設定ファイルです。
質問に書かれているリンク先から、
Oracle Database 10g Release 2 (10.2.0.3/10.2.0.4)
Enterprise/Standard Edition for Microsoft Windows Vista and Windows 2008
をダウンロードして、インストールしたと理解しました。
>tnsnames.oraファイルというのは、クライアント側で設定するものではないのでしょうか
その通りです。詳細は異なりますが、おおまかに、
tnsnames.oraは、クライアントで設定します。
そして、サーバー側で設置するものが、
listener.oraです。
not currently know of service とあります。
これは、
サーバーのlistener.oraが設定している、Service名と、
クライアントの tnsnames.oraが設定いる Service名が一致しな
いことを意味しています
9i(正式には8i)以降は、listener.oraの中にサービス名を記入せず、
動的リスナーであることが多いので、今回は、すでに起動中の
リスナーから確認してみましょう
◆実際にやってみましょう
DBサーバー側で
コマンドプロンプトを起動してください
C:\Users\MOTOTAKA>lsnrctl
LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 08-10月-2009
Copyright (c) 1991, 2006, Oracle. All rights reserved.
LSNRCTLへようこそ。詳細は"help"と入力してください。
◆状況を確認します
LSNRCTL> status
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for 32-bit Windows: Version 10.2.0.3.0 - Pr
開始日 08-10月-2009 23:57:00
稼働時間 0 日 0 時間 0 分 48 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル C:\oracle\product\10.2.0\db_1\network\admin\listener
ログ・ファイル C:\oracle\product\10.2.0\db_1\network\log\listener.
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MOTOTAKA-PC)(PORT=1521)))
サービスのサマリー...
サービス"ORCL_XPT"には、1件のインスタンスがあります。
インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります
サービス"PLSExtProc"には、1件のインスタンスがあります。
インスタンス"PLSExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラが
サービス"orcl"には、1件のインスタンスがあります。
インスタンス"orclsid"、状態READYには、このサービスに対する1件のハンドラがあります
コマンドは正常に終了しました。
LSNRCTL>
いろいろありますが、この
サービス"orcl"には、1件のインスタンスがあります。
インスタンス"orclsid"、状態READYには、このサービスに対する1件のハンドラがあります
がサービス名です。ですので、この場合は、
サービス名が orcl
この名称(大文字小文字関係なし)と、
クライアントの tnsnames.ora のサービス名を合わせる必要があります。
ちなみに、
SID(インスタンス名)が orclsid
になります。
◆ クライアントの tnsnames.oraをみてみます
MMM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 15211))
)
(CONNECT_DATA =
(SID = XE)
)
)
このようになっていたら、
サービス名接続ではなく、SID接続になります。
よって、サービス名 orcl で接続させためには、
MMM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 15211))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
としてください。
サービス名は、大文字小文字関係なしです。
これにより、
今回のエラー
ORA-12514: TNS:listener
は、解決します
Your DBA MOTO:TAKER
No.3
- 回答日時:
>データベースサーバはリモートのサーバ環境にあります。
>ただ、その場合でも、やはりOracle Clientをインストールした
>環境では、データベースサーバに接続するための情報を記述した
>tnsnames.oraファイルが必要になるのですよね??
はい、その通りです。
No.2
- 回答日時:
tnsnames.oraは、DBサーバでもクライアントでも使用します。
あるDBサーバから他のDBサーバに接続する時、接続情報はtnsnames.oraに設定されたものを使用します。
Oracleクライアントのみインストールした環境からDBサーバへアクセスする場合も、tnsnames.oraに設定されたものを使用します。
どこかに接続先の情報を設定しなければアクセスできませんよね?
そのリモートのサーバ環境のIPアドレスやらホスト名やらを設定するのがtnsnames.oraです。
というか、Oracleアプリケーション、Oracleサーバー間のネットワーク通信は「Oracle Net」という共通のコンポーネントを使用して行われます。
その設定ファイルとしてtnsnames.oraがあるわけです。
No.1
- 回答日時:
Oracle Clientのインストールの最後の方で,ネーミングメソッドが云々と言う画面が出てきて、そこに適当な値を設定すると、tnsnames.oraが作成されます。
tnsnames.oraがないのならインストールが中断したか、ネーミングメソッドの設定をキャンセルしたのでしょう。
ちなみに、Oracle Clientにはデータベースはないですけど。
データベースサーバに接続することだけが可能です。
データベースサーバはどこかほかにあるのですよね。
この回答への補足
ご回答ありがとうございます。
>ちなみに、Oracle Clientにはデータベースはないですけど。
>データベースサーバに接続することだけが可能です。
>データベースサーバはどこかほかにあるのですよね。
>
はい、そうですね。
データベースサーバはリモートのサーバ環境にあります。
ただ、その場合でも、やはりOracle Clientをインストールした
環境では、データベースサーバに接続するための情報を記述した
tnsnames.oraファイルが必要になるのですよね??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- ルーター・ネットワーク機器 AU光10G回線について 6 2022/07/25 00:12
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルで複数フォルダ...
-
Oracle で文字列からタイムスリ...
-
Object Browser相関タブの見方...
-
SQLについての質問
-
SQLについて教えて下さい。 主...
-
SQLで今日の日付でWhereしたい
-
秋葉原でWindowsを買ったのです...
-
オラクル12C_SQLPlusで実行す...
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
-
SELECTによる表の変換方法を教...
-
開発対象となるアプリケーショ...
-
質問です。 下記のテーブルとデ...
-
Oracleですがsqlで質問です。 ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
SQLの書き方について
-
sqlで質問です。 idを元にidに...
-
oracleで 10,20, 30, というデ...
-
索引作成について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
副問合せにLIKE文を使う方法は...
-
データベースのカラムの型がCHA...
-
バッチファイルで複数フォルダ...
-
batファイルでのSQL(oracle)...
-
64bit端末でのOLEDB接続に関して
-
10営業日前の日付を取得したい...
-
osqleditについて
-
update文で質問です。 下記の条...
-
orace SQL文のエラー(ORA-0092...
-
テーブルやカラムの物理名のネ...
-
オラクル12C_SQLPlusで実行す...
-
videopad 無料版 アンインストール
-
SQLの中上級者へのレベルアップ...
-
続.ORACLEのSELECTのソートに...
-
ワークテーブルって何?
-
oracleの直接接続のクライアン...
-
ORA-14452について
-
SQL ブレーク処理について
-
Oracleですがsqlで質問です。 ...
-
oracleで 10,20, 30, というデ...
おすすめ情報