Hi Michal, Here i have provided the details available in my TNSNames.ora file. MYTNSNAME=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL = TCP)(HOST = MyIPAddress)(PORT = 1521)))(CONNECT_DATA=(SERVICE_NAME = CP.MYTNSNAME)))
Thanks, Manickam P Date: Fri, 21 Jun 2013 09:29:30 +0200 Subject: Re: Unable to connect to oracle database from sqoop From: [email protected] To: [email protected] Well, it looks that you indeed do not have a service "cp" running on your listener (service is something different than SID, is something different than database name and is something different than instance name). Does your connection work from sqlplus for example? If you have the contents of the tnsnames.ora, just paste the whole connection string from there (just compact it so it is on one line). Or post the contents of the tnsnames.ora file here and I can give you some more guidance. Michal 2013/6/21 Manickam P <[email protected]> Hello Michal, Thanks for your reply. I tried with your input but after that also i'm getting the same error. i've given below the script i used. ./sqoop-list-databases --connect "jdbc:oracle:thin:username/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyIPAddress)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=cp)))" Do i need to add any jar file in the sqoop lib apart from ojdbc jar? when i try the above script i got the below exception. I've added the complete stack trace. 13/06/21 02:52:43 INFO manager.SqlManager: Using default fetchSize of 100013/06/21 02:52:43 ERROR manager.OracleManager: Failed to rollback transaction java.lang.NullPointerException at org.apache.sqoop.manager.OracleManager.listDatabases(OracleManager.java:615) at org.apache.sqoop.tool.ListDatabasesTool.run(ListDatabasesTool.java:49) at org.apache.sqoop.Sqoop.run(Sqoop.java:145) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229) at org.apache.sqoop.Sqoop.main(Sqoop.java:238)13/06/21 02:52:43 ERROR manager.OracleManager: Failed to list databases java.sql.SQLException: Listener refused the connection with the following error:ORA-12514, TNS:listener does not currently know of service requested in connect descriptor at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at org.apache.sqoop.manager.OracleManager.makeConnection(OracleManager.java:308) at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) at org.apache.sqoop.manager.OracleManager.listDatabases(OracleManager.java:604) at org.apache.sqoop.tool.ListDatabasesTool.run(ListDatabasesTool.java:49) at org.apache.sqoop.Sqoop.run(Sqoop.java:145) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229) at org.apache.sqoop.Sqoop.main(Sqoop.java:238) Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:ORA-12514, TNS:listener does not currently know of service requested in connect descriptor at oracle.net.ns.NSProtocol.connect(NSProtocol.java:395) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1102) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320) ... 16 more Thanks, Manickam P Date: Fri, 21 Jun 2013 08:47:11 +0200 Subject: Re: Unable to connect to oracle database from sqoop From: [email protected] To: [email protected] Hello Manickam, the Oracle connection parameters are a bit confusing sometimes (not a Sqoop problem). The thin client, which you are using, does not support full Oracle*Net client and it does not work with tnasnames.ora. So you either specify the service directly (in your case, the listener running on localhost must provide service "cp"). Or you can provide the full connection string (taken from tnsnames.ora) in the commandline: For example, like this:sqoop import --connect "jdbc:oracle:thin:username/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=YOURSERVICENAME)))" ... Hope this helps,Michal 2013/6/21 Manickam P <[email protected]> Hi, Given below is the scoop script i used. ./sqoop list-databases --connect jdbc:oracle:thin:@localhost:1521/cp --username scott --password tiger JDBC driver directory - which directory you mean here? i have put ojdbc jar in sqoop lib folder. Is that fine or am i missing anything here? Thanks, Manickam P Date: Thu, 20 Jun 2013 16:04:50 +0200 Subject: Re: FW: Unable to connect to oracle database from sqoop From: [email protected] To: [email protected] Hi, Please send your Sqoop script, and the output of "ls" command on your JDBC driver directory. Thanks 2013/6/20 Manickam P <[email protected]> Hi, I am trying to import details from oracle through sqoop but i got the below error. 13/06/20 09:09:21 ERROR manager.OracleManager: Failed to list databasesjava.sql.SQLException: Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor I've put an entry into the TNSname.ora file and also added ojdbc jar with sqoop lib folder. Please help me to resolve the issue. Thanks, Manickam P
