Discussions
Categories
- 197K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.8K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 556 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.4K SQL Developer
- 296.4K Development
- 17 Developer Projects
- 139 Programming Languages
- 293.1K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 161 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 205 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 473 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
OCIでの接続

977202
Member Posts: 64
お世話になっております。
Windows7+Apache2.22+PHP5.3+Oracle11gR2をオールインワンで一台で動かしています。
PHPからはPDO_OCI経由でOracleに接続しているのですが、以下のエラーが出ます。
ORA-12514: TNS: リスナーは接続記述子でリクエストされたサービスを現在認識していません
sqlplusでログインできるので、問題ないかと思いきや、
実は、Oracle11gR2サーバソフトのsqlplusを使っていたからで、
OracleInstantClienteのインストールディレクトリにあるsqlplusでログインしようとすると、
やはり、以下のとおりつながりませんでした。
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
サーバとインスタントクライアントが同居する環境なわけですが、
対処方法等教えていただければ幸いです。
Windows7+Apache2.22+PHP5.3+Oracle11gR2をオールインワンで一台で動かしています。
PHPからはPDO_OCI経由でOracleに接続しているのですが、以下のエラーが出ます。
ORA-12514: TNS: リスナーは接続記述子でリクエストされたサービスを現在認識していません
sqlplusでログインできるので、問題ないかと思いきや、
実は、Oracle11gR2サーバソフトのsqlplusを使っていたからで、
OracleInstantClienteのインストールディレクトリにあるsqlplusでログインしようとすると、
やはり、以下のとおりつながりませんでした。
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
サーバとインスタントクライアントが同居する環境なわけですが、
対処方法等教えていただければ幸いです。
Answers
-
OracleInstantClienteのインストールディレクトリにあるsqlplusでログインしようとすると、コマンドラインでどのように接続しようとして、どのようにエラーが出ているかを提示できますでしょうか。
やはり、以下のとおりつながりませんでした。
DBで接続できている時の結果もあると良いです。
また、EZCONNECTで接続できますか?
<<http://docs.oracle.com/cd/E16338_01/network.112/b56288/naming.htm#i498306>>
後、同じサーバでしたらPATHを通しておけばDBのSQLPLUSを使っても問題ないと思いますが。。。 -
ご返信ありがとうございます。
エラーを3例と、エラーにならない場合の例です。
●エラーの例(最初の質問のとおり)
C:\>instantclient_11_2\sqlplus
SQL*Plus: Release 11.2.0.3.0 Production on 木 4月 4 15:42:30 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ユーザー名を入力してください: system
パスワードを入力してください:
ERROR:
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
●エラーの例2(SIDを指定した場合で、PDOでのエラーと同じです。)
C:\>instantclient_11_2\sqlplus [email protected]
SQL*Plus: Release 11.2.0.3.0 Production on 木 4月 4 15:39:07 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
パスワードを入力してください:
ERROR:
ORA-12154: TNS: 指定された接続識別子を解決できませんでした
●エラーの例3(host名を指定した場合)
C:\>instantclient_11_2\sqlplus [email protected]/SID
SQL*Plus: Release 11.2.0.3.0 Production on 木 4月 4 15:47:51 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-12504: TNS: リスナーはCONNECT_DATAのSERVICE_NAMEを取得できませんでした。
ユーザー名を入力してください: system
パスワードを入力してください:
ERROR:
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
●エラーにならない例(サーバのsqlplusを使った場合)
C:\>\app\SID\product\11.2.0\dbhome_1\BIN\sqlplus [email protected]
SQL*Plus: Release 11.2.0.1.0 Production on 木 4月 4 15:36:25 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
パスワードを入力してください:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
に接続されました。
SQL>
EZCONNECT もしくは CONNECTについては、実行プログラムが見つかりませんでした。
よろしくお願いします。 -
c:\app\SID\product\11.2.0\dbhome_1\network\admin配下のsqlnet.oraおよびtnsnames.oraを提示できますか?
また、c:\instantclient_11_2\network\admin配下にsqlnet.oraおよびtnsnames.oraは存在しますか?存在する場合、提示できますか?
connectはSQL*PLUSに接続後のコマンドです。
また、EZCONNECT は簡易接続のことで、コマンドではありません。
SID、サービス名、ネット・サービス名の違いは理解していますか? -
c:\app\SID\product\11.2.0\dbhome_1\network\admin配下
c:\instantclient_11_2\network\admin配下
共に、以下のとおりです。
●tnsname.ora
SID =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = SID)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
LISTENER_SID =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
●sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
よろしくお願いします。 -
同じユーザ(Windows上の)を使用されてますでしょうか?
-
同じユーザです。
-
c:\instantclient_11_2\network\admin配下instant clientのtnsnames.oraは
c:\instantclient_11_2
配下に配置すべきではないでしょうかね。。 -
-
以下のとおりです。よろしくお願いします。
C:\>\instantclient_11_2\sqlplus [email protected]/SID
SQL*Plus: Release 11.2.0.3.0 Production on 木 4月 4 17:13:15 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-12504: TNS: リスナーはCONNECT_DATAのSERVICE_NAMEを取得できませんでした。
ユーザー名を入力してください: system
パスワードを入力してください:
ERROR:
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました -
上記のyamamoto様へのReplyでは、
tnsnames.oraをc:\instantclient_11_2配下に置いてみました。
Edited by: 974199 on 2013/04/04 1:19
This discussion has been closed.